我目前正在编写包含Vlookup的VBA代码。我目前的代码是:
ActiveCell.FormulaR1C1 = _ “= VLOOKUP(RC [-7],'[Equities EMIR New.xlsx]估值摘要'!R2C4:R100C5,1,FALSE)”
我遇到的问题是每次运行时Vlookup将在新插入列的单元格中的列。因此,一旦宏运行多次,对查找值使用RC [-7]将不起作用。
查找值将保留在同一个单元格(A3)中,但是当我尝试用A3替换RC [-7]时,我得到一个#NAME?错误。
我一直在寻找几天,我找不到解决方案,是否有人能够提供帮助?
感谢。
答案 0 :(得分:1)
这将解决您的问题
ActiveCell.FormulaR1C1 = _ "=VLOOKUP(R3C1,'[Equities EMIRNew.xlsx]Valuation Summary'!R2C4:R100C5,1,FALSE)"
在VBA中请记住,使用.FormulaR1C1时,请使用R1C1格式作为参考。
答案 1 :(得分:0)
您的问题有一个快速而肮脏的解决方案。 这个想法是FormulaR1C1需要一个字符串,所以你应该每次l_counter缩进-1。
Public Sub vlookup()
Dim l_counter As Long: l_counter = 7
'your loops here
l_counter = l_counter - 1
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-" & l_counter & "],'[Equities EMIR New.xlsx]Valuation Summary'!R2C4:R100C5,1,FALSE)"
'your loops here
End Sub