指定Lookup_value列号的VBA Vlookup

我目前正在编写包含Vlookup的VBA代码。 我现在的代码是这样的:

ActiveCell.FormulaR1C1 = _“= VLOOKUP(RC [-7],'[Equities EMIR New.xlsx] Valuation Summary'!R2C4:R100C5,1,FALSE)”

我遇到的问题是,每次运行时,Vlookup将在新插入列中的单元格中显示该列。 因此,一旦macros运行多次,RC [-7]查找值将不起作用。

查找值将保留在同一个单元格(A3),但是当我尝试用A3replaceRC [-7]时,我得到了#NAME? 错误。

我一直在寻找几天,我找不到解决办法,是否有人能够协助?

谢谢。

这将解决您的问题

ActiveCell.FormulaR1C1 = _ "=VLOOKUP(R3C1,'[Equities EMIRNew.xlsx]Valuation Summary'!R2C4:R100C5,1,FALSE)" 

请记住在VBA中使用.FormulaR1C1时要使用R1C1格式作为参考。

你的问题有一个快速和肮脏的解决scheme。 这个想法是FormulaR1C1需要一个string,所以每次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