我想插入一个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


除非您限定要引用的工作表,否则RangeRows默认为ActiveSheet。而且With块不会更改哪个工作表处于活动状态,它只是提供了语法上的快捷方式-即您可以键入.而不是Workbooks("dump-data.xlsm").Worksheets("Data").

关于excel - 在VBA的打开的窗口中将Vookup与定义的变量一起使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41309808/

10-09 05:34