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

キヨタツ
キヨタツの一言

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

今読んだ記事をシェアする

vba-thumb

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

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

このブログサイトが参考になった人は、いいねボタン! 更新情報も受け取れます!

arrow
デル株式会社
  • Pocket
  • このエントリーをはてなブックマークに追加

キヨタツ

キヨタツ

WEBを中心に、色々な制作をする個人事業主です。過去、エンジニア&webディレクターで会社勤めをしていました。エンジニアで勤めていた頃は、MATLAB/simulink/VBA/C/C++など扱っていました。生産管理、MECE、オブジェクト指向など、エンジニアの知識はweb業界に入っても、かなり役立ちます。性格は、自虐好きです。