【ExcelVBA入門】DisplayAlertsプロパティでメッセージを制御する方法とは

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

皆さんは、VBAでメッセージを非表示にする方法を知っていますか?DisplayAleartsプロパティの値を変更すれば、簡単にメッセージの表示/非表示を変更することができます。

そこで今回は、

  • DisplayAleartsプロパティの使い方

といった基礎的なことから、

  • DisplayAlertsプロパティを使うタイミングとは
  • DisplayAlertsプロパティを使った具体的なサンプルコード
  • マクロの記録で作ったコードを使うときの注意点

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

DisplayAlertsプロパティとは

はじめに、DisplayAlertsプロパティについて簡単に解説します。DisplayAlertsプロパティとは、Applicationオブジェクトのプロパティの1つで、値を変更することでメッセージの表示/非表示を制御することができます。

使い方は以下のとおりです。使い方:

値をTrueにするとメッセージ表示、Falseにすると非表示にすることができます。1行で変更することができるので、とても簡単ですよね。

DisplayAlertsプロパティを使うタイミングとは

ここまでの説明を聞いていると、

あえてメッセージを表示しないケースって、あるのかな?

と思う方も多いと思います。なので、どういったケースで使うのか簡単に解説しますね。メッセージの制御は、ファイルの保存、データクリア、シートやブックの削除など、確認メッセージがでてくるときによく使います。

例えば、「新しくファイルを作成して名前を付けたあと、名前をつけて保存する処理」があったとします。ファイルを保存するときに同じ名前のファイルがあった場合、以下のように確認メッセージがでてしまいます。

サンプルコード:

実行中に出てくるメッセージ:

メッセージが出てしまうと処理が途中で止まってしまうため、最後のブックを閉じる処理が実行されずに固まってしまいます。保存時のメッセージを表示せずに保存したい場合は、保存処理の前後に「DisplayAlearts」の値を変更して、以下のようにします。

サンプルコード:

このように、簡単にメッセージの表示/非表示を制御することができます。ちなみに、サンプルで紹介したワークブックの保存方法については以下記事で詳しく解説しているので、気になる方は見てみてくださいね!

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

補足:マクロの記録で作ったコードを使うときの注意点

Excelの操作を保存して自動でマクロを作ってくれる機能に、マクロの記録があります。操作をマクロにしてくれるので、自分が作りたい動きをVBAに変換したいときにとても便利なのですが、この機能には落とし穴があります。

それは、「記録時の操作のみをマクロ化するため、同じ操作をもういちど動かすことを想定したコードになっていない点」です。先ほどの「名前を付けてファイルを保存する処理」の場合、操作を記録している1回目はファイルがないためメッセージが出ません。

しかし、保存したマクロを実行した2回目は既にファイルが存在するため、先ほどのメッセージが出てしまいます。そのため、マクロの記録で保存したコードであっても、2回目に処理が同じように動くかどうか確認するのがおすすめです!

マクロの記録の使い方については、以下で詳しく解説しているので気になる方は見てみてくださいね!

【ExcelVBA入門】マクロの記録を使って簡単にマクロを作る方法とは
更新日 : 2018年8月17日

まとめ

今回は、メッセージの表示/非表示を制御するDisplayAlertsプロパティの使い方について解説しました。メッセージを表示せずに処理を動かしたい場合によく使うので、覚えておくのがおすすめです!

使い方も簡単なので、ぜひ使ってみてくださいね!

LINEで送る
Pocket

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

cta_under_bnr

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

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

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

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

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

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

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

おすすめコンテンツ

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

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