vlookup公式,其中包含可变范围

时间:2013-11-30 14:49:08

标签: excel-vba vba excel

我正在尝试将变量添加到vlookup公式函数

下面显示的那个能够运行

Cells(17, LastCol + 1).Formula = "=vlookup(" & Sheets("Sheet1").Range("C17").Address(False, False) & ",'Temp'!B:C,2,False)"

但是我想要做的是添加变量来替换B:C中找到的C看起来像这样

Cells(17, LastCol + 1).Formula = "=vlookup(" & Sheets("VPC4").Range("C17").Address(False, False) & ",'Temp'!Cells(Row1,2):Cells(Row2,3),2,False)"

其中

Row1 = Sheets("Temp").Cells.Find(What:="test", SearchDirection:=xlUp, SearchOrder:=xlByRows).Row
Row2 = Sheets("Temp").Cells.Find(What:="test1", SearchDirection:=xlUp, SearchOrder:=xlByRows).Row

enter image description here

它没有达到我的预期,而是显示了$ name。因此,我需要将vba作为配方输出,使用.formula。请指教。

1 个答案:

答案 0 :(得分:1)

您需要以这种方式包含Row1Row2变量值:

Cells(17, LastCol + 1).Formula = "=vlookup(" & Sheets("VPC4").Range("C17").Address(False, False) & ",'Temp'!" & _
                                  range(Cells(Row1,2),Cells(Row2,3)).address & _
                                                         ",2,False)"