【ExcelVBA入門】ワークブックを閉じる方法を徹底解説!

こんにちは、フリーランスエンジニア兼ライターのワキザカ サンシロウです。

皆さんは、VBAでブックを閉じる方法を知っていますか?

ブックを上書き保存した後や、新しくブックを作って保存した後など、ブックを閉じるケースはよくあります。

そこで今回は、

  • Closeステートメントでブックを閉じる方法
  • ブック名を指定して閉じる方法
  • 上書き保存後に閉じる方法
  • 名前を付けて保存後に閉じる方法

といった基礎的なことから、応用的な方法まで、徹底的に解説します!

Closeステートメントでブックを閉じる方法

はじめに、Closeステートメントを使ったブックを閉じる方法について解説します。

Closeステートメントを使って次のように書くことで、簡単にブックを閉じることができます。

Closeステートメントの使い方:

ただ、1点注意点として、ブックを閉じるときに次のような警告メッセージが表示されることがあります。

ブックを閉じる処理が途中で止まってしまうため、以下のようにDisplayAlertsプロパティを使ってメッセージを非表示にする処理を入れるのがおすすめです!

ブックを閉じるサンプル

次に、サンプルコードをもとに、具体的な使い方を解説します。

ブック名を指定して閉じる

まずは、ブック名を指定して閉じる方法です。

Openステートメントでブックを開き、開いたブックを閉じるサンプルコードを用意しました。

サンプルコード:

実行結果:

Closeステートメントの前にWorkbooks(ブック名)を指定することで、指定したブックを閉じています。

このように、簡単に指定したブックを閉じることができます。

アクティブワークブックを閉じる

次に、アクティブワークブックを閉じる方法について解説します。

アクティブワークブックとは、選択しているブックのことです。

複数のブックを使って処理を書く場合に、選択しているブックに対して操作をするケースはよくあるため、合わせて覚えておくと便利です。

今回は、Openステートメントで新しくブックを開いたあと、アクティブになったブックを閉じるサンプルコードを用意しました。

サンプルコード:

実行結果:

Closeステートメントの前にActiveWorkBookを指定することで、アクティブワークブックを閉じています。

このように簡単に指アクティブワークブックを閉じることができます。

ちなみに、アクティブワークブックの操作については以下で詳しく解説しているので、気になる方は見てみてくださいね!

【VBA入門】ActiveWorkBookの使い方!ThisWorkBookとの違いも解説!
更新日 : 2019年5月2日

マクロ実行ブックを閉じる

次に、マクロ実行ブックを閉じる方法について解説します。

※最初に注意点ですが、「Application.DisplayAlerts = False」で警告メッセージを表示せずにそのまま閉じる処理のため、事前に必ずファイルを保存してから以下コードを実行してください。

サンプルコード:

Closeステートメントの前にThisWorkBookを指定することで、マクロを実行しているブックを閉じています。

ActiveWorkbookで選択しているブック、ThisWorkBookでマクロを実行しているブックを指定できることさえ覚えておけば、使い方は同じなので覚えておくと便利です!

上書き保存後に閉じる

次に、上書き保存後に閉じる方法について解説します。

書き換えたデータを保存してそのまま閉じる方法です。

サンプル実行前のTest.xlsxのデータ:

サンプルコード:

サンプル実行後のTest.xlsxのデータ::

A2セルに「新しく追加したデータ」を書き込んでから、上書き保存して閉じるサンプルです。

ActiveWorkbook.Close True」のように、Closeステートメントに続けてTrueを書くことで保存してから閉じることができます。

名前を付けて保存後に閉じる

次に、名前を付けて保存後に閉じる方法について解説します。

サンプル実行前のフォルダ:

サンプルコード:

サンプル実行後のフォルダ:

ActiveWorkbook.Close True, ファイルパス」を指定することで名前を付けて保存してから、ブックを閉じています。

今回は、「ThisWorkbook.Path & “\名前を付けて保存.xlsx”」を指定することで、マクロを実行しているブックのフォルダに「名前を付けて保存.xlsx」の名前でブックを保存しています。

このように、簡単に名前を付けて保存後にブックを閉じることができます。

ブックを閉じずに保存だけする方法

ここまでブックを閉じる方法・保存してから閉じる方法について解説してきましたが、ブックを閉じずに保存だけしたいときもありますよね。

Saveメソッドでブックを上書き保存、SaveAsメソッドで名前を付けて保存することができるので、合わせて覚えておくと便利です!

Saveメソッド・SaveAsメソッドの詳しい使い方については以下で詳しく解説しているので、気になる方は見てみてくださいね!


【ExcelVBA入門】SaveAsメソッドを使ったファイル保存方法を徹底解説!
更新日 : 2019年4月2日

合わせて覚えると便利なブック操作方法

ここまでブックを閉じる方法をメインに解説してきました。

ただ、ブックを閉じる処理以外にもブック操作で覚えておくと便利なメソッド・プロパティはたくさんあります。

ブックの作成、保存、データ取得、データコピーなどまとめて以下で解説しているので、気になる方は見てみてくださいね!

【ExcelVBA入門】ワークブック操作する方法について徹底解説!
更新日 : 2018年8月29日

まとめ

今回は、ブックを閉じるためのCloseステートメントの使い方について解説しました。

データを計算して保存した後、ブックを閉じたいケースはよくあります。

Closeステートメントは使い方も簡単なので、ぜひ使ってみてくださいね!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

フリーランスエンジニア兼ライターのワキザカ サンシロウです。
ExcelVBAの自動化ツール開発、WEB開発をメインにエンジニア業務をこなしつつ、サムライエンジニアにてライター業務をしております。

プログラミングをこれからやってみたい方に向けて、ためになる記事を全力で書いていきますので宜しくお願い致します!

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説