Excel VBAで処理中に他のファイル(ブック)を開いて、操作する方法
Excel VBAで、プロシージャの処理中に、他のファイル(ブック)を開いて、操作する場合は、下記コードのように記述します。
ソースコード
Sub test()
Dim openBookDir,closeFileDir As String
openBookDir = "C:\test.xlsx"
'他のブックを開く
Workbooks.Open openBookDir
'ブック・シートを選択して、自由に操作可能。
'ブックを閉じる(変更の保存を確認するメッセージを非表示)
closeFileDir = Right(openBookDir, InStr(StrReverse(openBookDir), "\") - 1)
Application.DisplayAlerts = False
Workbooks(closeFileDir).Close
Application.DisplayAlerts = True
End Sub
ブックを開いたあとは、ブック・シートなどを選択することで、開いたブックからデータを読み取ったり、データを書き込んだりすることができます。多くのエクセルデータを入出力する必要がある際、とても重宝します。
ただ、上記コードは自分で使う用ですので簡略化していますが、他に人が使うVBAコードを作成するのであれば、ファイルを開く際、ファイルの有無確認・同じ名前のファイルを開いていないかどうかなど、エラーチェックする記述をつけたほうが望ましいです。
▼こちらのサイト様で、とても詳しく書かれています。
http://officetanaka.net/excel/vba/file/file01.htm