VBA 而不是 vlookup
VBA instead of vlookup
我刚开始使用VBA。
我有一个包含两个 sheet 的工作簿。在第一个 sheet 的 "D" 列中,我有零件号。
在第二个 sheet 上,我再次在 "A" 列中有部件号,在 "B" 列中有每个部件号的描述。
在 Sheet1 上我想收集以下数据:
- 如果 Sheet2 列 "A" 包含来自 Sheet1 列 "D" 的部件号,则列 "O" 值需要是 Sheet2 列 "B".
现在自己通过录制宏使用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))
我刚开始使用VBA。 我有一个包含两个 sheet 的工作簿。在第一个 sheet 的 "D" 列中,我有零件号。 在第二个 sheet 上,我再次在 "A" 列中有部件号,在 "B" 列中有每个部件号的描述。 在 Sheet1 上我想收集以下数据:
- 如果 Sheet2 列 "A" 包含来自 Sheet1 列 "D" 的部件号,则列 "O" 值需要是 Sheet2 列 "B".
现在自己通过录制宏使用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))