VBA VLookUp通过数据集并将匹配的单词放置在选定的单元格中

我需要创建一个VBA VlookUp,它将在Sheet2选项卡(table_array)中从Col A转到H,将其与工作表1中的V列(look_up值)匹配,然后放入匹配的结果(即列索引)并在单元格AF中的第7栏)中。我能够针对很小的值范围进行测试,但是不适用于我的整个数据集。第五栏有超过15000个单元格!到目前为止,以下是我的代码,但返回错误。请帮助

Sub ADDCLM()
Dim table_Row as Long
Dim table_Clm as Long
Dim LastRow as Long 

LastRow = .Cells(.Rows.Count,"V").End(xlUp).Row
Table1 = Sheet1.Range("V2:V" & LastRow)
Table2 = Sheet2.Range("A:H") 

New_Row = Sheet1.Range("AF2").Row
New_Clm = Sheet1.Range("AF2").Column

For Each c1 in Table1
    Sheet1.Cells(New_Row,New_Clm) = Application.WorksheetFunction.VLookup(c1,Table2,7,False)
    New_Row = New_Row + 1
Next c1
End Sub

在Excel中,公式是这样的:例如,对于Cell AF2 =VLOOKUP(V2;Sheet2!A:H;7;FALSE)

我在table2 = ...行上不断收到运行时错误424

q474136201 回答:VBA VLookUp通过数据集并将匹配的单词放置在选定的单元格中

因此,我能够找到解决问题的方法。我重命名了Sheet2以反映工作表名称,然后使用我在网上看到的不同来源对代码进行了一些更改。

Sub ADDCLM()

    Dim table2 As Range
    Set table2 = Sheets("RD data").Range("A:H")
    Dim lastRow As Long
    With Sheet1
        lastRow = .Cells(.Rows.Count,"V").End(xlUp).Row
        With .Range("AF2:AF" & lastRow)
            .FormulaR1C1 = "=VLOOKUP(RC22," & table2.Address(,xlR1C1,True) & ",7,False)"
            .Value = .Value
        End With
    End With

End Sub
本文链接:https://www.f2er.com/3158952.html

大家都在问