【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ステートメントは使い方も簡単なので、ぜひ使ってみてくださいね!

Excel VBAを最短で習得したい方へ

元々ITリテラシーの高い方やプログラムの学び方がわかっている方であれば、この記事通りに進めていけば、Excel VBAを独学で習得することができるでしょう。

ただし、実際の学習期間中はつまづいている時間がほとんどです。

「なかなかやり遂げられ無い、挫折してしまった」
「時間が足りない」
「情報が少なくどう調べればいいかわからない」
「エラーを解決することができない」

このような悩みを抱えている方も少なく無いと思います。

  • もう挫折したくない
  • 本業と両立しながら、好きな時間で自分のペースで勉強を続けていきたい
  • 自分だけのカリキュラムで効率的に勉強したい
そんな方はお気軽に侍エンジニア塾までご相談ください。

お一人お一人に専属のインストラクターがつくので、より深くExcel VBAについて学習することできます。

まずは『無料体験レッスン』で、弊社のコンサルタントと一緒にあなた専用の学習方やカリキュラムを考えてみませんか?

Excel VBAならではの学習方法や、現役エンジニアから貴重なアドバイスを受けることができます。

詳しくは下の画像をクリックして弊社サービス内容をご確認ください。

cta2_vba2

LINEで送る
Pocket

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

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

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

おすすめコンテンツ

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

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