Home » エクセルマクロ・Excel VBAの使い方 » Applicationオブジェクト » Excel VBAで確認メッセージを非表示に−Application.DisplayAlertsプロパティ

Excel VBAで確認メッセージを非表示に−Application.DisplayAlertsプロパティ

対象:Excel97, Excel2000, Excel2002, Excel2003

ExcelでVBAを使って、業務アプリケーションを作り始めるとよく出てくる処理があります。

ワークシートの削除です。

アクティブなワークシートの削除をするのならば、
  ActiveSheet.Delete
というステートメント、
1枚目のワークシートを削除するのならば、
  Worksheets(1).Delete
というステートメントです。

決して難しい記述ではありませんが、こういったステートメントを記述したマクロを実行すると必ずいただく質問があります。

「確認のメッセージを出さないようにすることはできないのでしょうか?」
というご質問です。

[スポンサードリンク]

実際にワークシートを削除するステートメントの含まれたマクロを実行すると、


選択したシートに、データが存在する可能性があります。データを完全に削除するには[削除]をクリックしてください。

という確認メッセージが表示されてしまいます。

このメッセージを非表示にできないのか?というご質問なわけです。

確認メッセージを非表示にするステートメント

削除をするコードの前に、以下のステートメントを記述しておくことで、確認メッセージは表示されなくなります。

▼確認メッセージを非表示にするステートメント
Application.DisplayAlerts = False

例えば、1枚目のワークシートを削除するマクロを作成するのならば、以下のようなコーディングをします。

Sub 先頭のワークシートを削除する()
 Application.DisplayAlerts = False
 Worksheets(1).Delete
 Application.DisplayAlerts = True
End Sub

DisplayAlertsプロパティの規定値は「True」で、プロシージャが終了すると自動的に「True」に戻るはずなのですが、バージョンによってはバグがあって自動的に「True」にならないことなどもあって、上記のように明示的に

  Application.DisplayAlerts = True

としておくことがお行儀がいいとされています。

最終更新日時:2018-11-12 15:22

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Applicationオブジェクト » Excel VBAで確認メッセージを非表示に−Application.DisplayAlertsプロパティ

「Applicationオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.
.