我目前正在编写包含Vlookup的VBA代码。我目前掌握的代码是:
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC-7,'Equities EMIR New.xlsxValuation汇总‘!R2C4:R100C5,1,FALSE)"
我遇到的问题是,每次运行Vlookup时,Vlookup将位于新插入列的单元格中。因此,让RC-7为查找值工作,一旦宏运行了不止一次。
查找值将保留在同一个单元格( A3 )中,但是当我尝试用A3替换RC-7时,会得到一个#名称吗?错误。
我已经找了好几天了,找不到解决办法,有人能帮忙吗?
谢谢。
发布于 2016-01-18 16:58:03
这将解决你的问题
ActiveCell.FormulaR1C1 = _ "=VLOOKUP(R3C1,'[Equities EMIRNew.xlsx]Valuation Summary'!R2C4:R100C5,1,FALSE)"在VBA中要记住,当使用.FormulaR1C1对引用使用R1C1格式时。
发布于 2016-01-18 16:55:10
你的问题有一个快速而肮脏的解决方案。其思想是,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 Subhttps://stackoverflow.com/questions/34859852
复制相似问题