【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プロパティの使い方について解説しました。メッセージを表示せずに処理を動かしたい場合によく使うので、覚えておくのがおすすめです!

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

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

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

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

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

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

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

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

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

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

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

cta2_vba2

LINEで送る
Pocket

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

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

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

おすすめコンテンツ

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

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