在外部工作簿中使用Excel参考表的VBA查找

现在,我正在使用这种types的代码来查看O列中的内容,以确定在N列中input的内容。由于数据是保密的,因此我只是在此处input字母和数字。 它工作正常,但不是在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等)。

我不确定我现在的代码是否需要稍微编辑来join参考表或者是否需要完全不同。

为什么不只是运行一个像你这样的标题build议,而不是运行一个循环?

 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中查找结果