VBAを使って、他ブックのセルを参照する時、
いちいちブックが立ち上がってしまって鬱陶しい
なんてことはありませんか?
コードで書くと
Dim wb As Workbook Dim ws As Worksheet Dim param As String Set wb = Workbooks.Open(path) Set ws = wb.Worksheets(sheetName) param = ws.Range("A1")
といった感じですが、Workbooks.Openの段階でブックが立ち上がってしまい、少し不格好です。
ExecuteExcel4Macroを使う
ExecuteExcel4Macroを使うことで、別ブックのセルを閉じたまま参照することができます。
書式
Dim param As String param = ExecuteExcel4Macro("'[@path]@sheetName'!R@row]C@column")
引数
@path
参照したいブックのパスを指定します。
@sheetName
@pathで指定したブックの参照したいシート名を指定します。
@row
@sheetNameで指定したシートの参照したい行番号を指定します。
@column
@sheetNameで指定したシートの参照したい列番号を指定します。