2016-12-24 5 views
2

開いているExcelウィンドウから取得した定義済みの変数として行を持つvlookupを挿入したいとします。VBAで開いているウィンドウの定義済み変数でVookupを使用

私が今直面している問題は、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)" 

答えて

2
はあなたが参照しているワークシートを修飾していない限り、正しいワークシート

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").の代わりに.と入力できます。

+0

ありがとうございました。私は次回のことを心に留めておきます。 – TarunS

関連する問題