我正在尝试制作一个看起来很简单的宏,但事实证明它比我想象的要难。我开始使用“指向和单击”方法制作它,但它并没有我想象的那么动态。基本上我使用 vlookup 从另一个工作表中查找单元格 A2 中的名称,然后将 D 列中的数字复制到当前工作表中。查看代码时,这部分看起来像这样:
Range("D2").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-3],'Downstairs'!R[-1]C[-3]:R[200]C[14],4,0)"
Range("D2").Select
Selection.AutoFill Destination:=Range("D2:D" & lastrow&)
找到第一个数字后,我正在尝试自动填充其余数字。当你运行它时它会起作用,但我认为这只是因为名称是有序的。但是,如果名称不按顺序排列,它将找不到正确的数字,部分原因是 R[] 和 C[] 中的所有数字随着您向下行而不断变化。如果我在列表中添加更多名称,我认为它不会起作用,这是我需要它做的事情。我将 R[] 中的数字从 93 更改为 200,因为我真的不知道如何合并我之前制作的 lastrow 对象,而且我不知道另一种方法可以使这个动态化。有一个更好的方法吗?