我想插入一个vlookup,它具有从打开的Excel窗口中获取的行作为已定义变量。
我现在面临的问题是Vlookup返回活动工作簿(即“ current.xlsm”)中的行数。它没有从“ dump-data.xlsm”中获取行数。
例如。 “ current.xlsm”中的总行数为8675。“ dump-data.xlsm”中的总行数为5934。虽然我希望Vlookup公式将总行数返回为5934,但它返回8675。
请帮忙!提前致谢
我目前的代码是:
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)"
最佳答案
更改您的代码以引用正确的工作表
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").
。关于excel - 在VBA的打开的窗口中将Vookup与定义的变量一起使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41309808/