VBA 而不是 vlookup

VBA instead of vlookup

我刚开始使用VBA。 我有一个包含两个 sheet 的工作簿。在第一个 sheet 的 "D" 列中,我有零件号。 在第二个 sheet 上,我再次在 "A" 列中有部件号,在 "B" 列中有每个部件号的描述。 在 Sheet1 上我想收集以下数据:

现在自己通过录制宏使用Vlookup:

Application.CutCopyMode = False
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-11],'RIG MB'!C[-14]:C[-13],2,0)"
    Range("O2").Select
    Selection.AutoFill Destination:=Range("O2:O3430")
    Range("O2:O3430").Select

我需要一个 vba 代码,但不需要 vlookup 工作 sheet 函数,我需要更快的东西。 我也想循环它,直到 Sheet1 列 "D" 中有数据。 提前谢谢您!

这是一个不循环的例子,但应该比 VLOOKUP 更快:

Range("O2:O3430").Formula = "=INDEX('RIG MB'!B:B, MATCH(D2, 'RIG MB'!A:A, 0))