我想插入一个vlookup,它将行作为从打开的Excel窗口获取的定义变量。
我现在面临的问题是Vlookup正在返回活动工作簿中的行数(即“current.xlsm”)。它没有从“dump-data.xlsm”获取行数。
E.g。 “current.xlsm”中的总行数是8675.“dump-data.xlsm”中的总行数是5934.虽然我希望Vlookup公式将总行返回为5934,但它返回8675。 / p>
请帮忙!提前致谢
我目前的代码是:
Dim totalRows As Long
With Windows("dump-data.xlsm")
totalRows = Range("A" & Rows.Count).End(xlUp).Row
End With
ActiveCell.FormulaR1C1 =
"=VLOOKUP(RC[-12],[dump-data.xlsm]Data!R1C1:R" & totalRows & "C37,1,FALSE)"
答案 0 :(得分:2)
更改您的代码以引用正确的工作表
With Workbooks("dump-data.xlsm").Worksheets("Data")
totalRows = .Range("A" & .Rows.Count).End(xlUp).Row
End With
除非您符合所指的工作表,否则Range
和Rows
默认为ActiveSheet
。并且With
块不会更改哪个工作表处于活动状态,它只是提供语法快捷方式 - 即您可以键入.
而不是Workbooks("dump-data.xlsm").Worksheets("Data").
。