【发布时间】:2015-03-30 19:06:04
【问题描述】:
我对 VBA 很陌生,这是我第一次在这里发帖。我正在尝试获取一个宏来添加两个使用 vlookup 从另一个工作簿中查找值的列。最终,我想让宏循环遍历要处理的整个文件文件夹,因此我不能将工作表放在同一个工作簿上。
到目前为止我有:
Range("K1:L1").EntireColumn.Insert
Range("K1") = "Rank"
Range("L1") = "Distance"
Range("K2:K" & Range("A" & Rows.Count).End(xlUp).Row).Formula = Application.VLookup(Range(ActiveCell.Offset(0, -9)), Workbooks("SOSP.nearestGHCND.simple.xlsx").Worksheets("Sheet1").Range("D:F"), 2, False)
我认为这些引用有问题,但我很难找到如何正确地在线格式化它。还有
您能提供的任何帮助将不胜感激。 非常感谢!
【问题讨论】:
-
VLOOKUP function 中
的单元格地址是什么?虽然您对几乎所有工作表和单元格引用都使用了直接引用,但 参数仍保留为 ActiveCell.Offset(0, -9)。 -
查找值是公式左侧的 9 列。我应该如何引用它?感谢您的快速回复。
-
写法是VBA解析
Application.Vlookup并将值放入单元格中。如果您这样做并希望它反映的各个行,那么您必须遍历它们。如果您想实际将公式放入单元格并让工作表计算解决公式,那是另一回事。 -
我最初把它作为一个公式,但它花了很长时间。您对如何使其更快有任何想法吗?