簡體   English   中英

在外部工作簿中使用Excel參考表的VBA vlookup

[英]VBA vlookup using Excel reference table in external workbook

現在,我正在使用這種類型的代碼來查看O列中的內容,以確定在N列中輸入的內容。由於數據是機密信息,因此我只是在此處使用字母和數字。 它可以正常工作,但是我希望它引用外部工作簿中的表,而不是用VBA代碼對情況進行硬編碼,因為我要插入成千上萬的情況和值。

Sub ChangeTest()
    Dim LastRow As Long
    Dim i As Long
      LastRow = Range("O" & Rows.Count).End(xlUp).Row
      For i = 2 To LastRow
        Select Case Range("O" & i)
          Case "A", "B", "C"
            Range("N" & i) = "1"
          Case "D","E","F"
            Range("N" & i) = "2"
          Case "G","H","I"
            Range("N" & i) = "3"
        End Select
      Next i
End Sub

在外部工作簿中,D列將包含個案(A,B,C等),而C列將具有要在原始工作簿的N列中輸入的數字(1、2、3等)。

我不確定我現在是否需要對代碼進行稍微的編輯以合並參考表,或者是否需要完全不同。

為什么不運行像您標題所示的vlookup而不是運行循環?

Sub ChangeTest()
Dim LastRow As Long
Dim Referance_Workbook As Workbook
Dim Referance_Tab As Worksheet
Dim Rng As Range


Set Referance_Workbook = Workbooks.Open("[Referance workbook path]")
Set Referance_Tab = Referance_Workbook.Sheets("[Referance tab within referance workbook]")
Referance_Workbook.Close SaveChanges:=False

LastRow = Range("O" & Rows.Count).End(xlUp).Row
Set Rng = Range("N2:N" & LastRow)
Rng.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-11],'[Source Workbook.xlsx]Sheet1'!C1:C2,2,0),""No in refrence table"")"


End Sub

這會在您參考工作簿/標簽的A列上進行查找,並在B列中查找結果

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM