Excel VBAで処理中に他のファイル(ブック)を開いて、操作する方法

エンジニア

※本記事は作成日より一年以上が経過しています。最新の情報ではないので、ご注意ください。

読了の目安時間: 124

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

最後に一言

ブックとシートの概念は覚えるべき。

本記事を気に入って頂けたら、facebookの「いいね!」を是非!

Excel VBAで処理中に他のファイル(ブック)を開いて、操作する方法


本記事のシェアはこちらから!

  • このエントリーをはてなブックマークに追加
  • Pocket

PROFILE

yoshi

follow us in feedly

本ブログ・WebMakeBlog KIYOTATSUを運営しているYoshiと申します。普段はWEB制作をやっています。過去、エンジニアの頃は、MATLAB/simulink/VBA/C/C++など扱っていました。生産管理、MECE、オブジェクト指向など、当時に得た知識はweb業界に入っても、かなり役立っています。