我在包含订单的 Excel 电子表格中的 VBA 代码有问题。每行都包含一个客户编号,我用它来查找客户电子邮件地址,该编号包含在工作簿的不同工作表中。
vlookup 代码适用于单个单元格,但问题是当我尝试遍历电子表格的所有行时。单个单元格的 Excel 公式是,例如,
=VLOOKUP(B2,Customers!A2:D1000,4,FALSE)
为此生成的 VBA 代码是:
Range("M2").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-11],Customers!RC[-12]:R[999]C[-9],4,FALSE)"
将其合并到一个循环中,在选择起始单元格后,我有以下内容:
Cells(2, 13).Select
Do
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-11],Customers!RC[-12]:R[999]C[-9],4,FALSE)"
ActiveCell.Offset(1, 0).Select
Loop Until IsEmpty(ActiveCell.Offset(0, -10))
问题是我希望“表格数组”是固定的,而不是相对于正在查找其值的单元格。但我绝对不知道该怎么做。如果我按如下方式更改代码,则会出现运行时错误:
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-11],Customers!A2:D1000,4,FALSE)"
我尝试过引用、取消引用、设置范围变量、将范围变量与 .address 一起使用……有人可以帮忙吗?
非常感谢。