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
- Newer:58%は愛で出来ています。
- Older:同じ文字列の連続入力−Alt+Enterキー
Home » エクセルマクロ・Excel VBAの使い方 » Applicationオブジェクト » Excel VBAで確認メッセージを非表示に−Application.DisplayAlertsプロパティ