【VBA】削除時の確認メッセージを非表示にする方法

~設定を元に戻す理由も解説~

Excel VBAでは、シート削除時の確認メッセージを非表示にする方法があります。自動化の際には欠かせないテクニックですが、**「設定を元に戻す理由」**についても理解しておくことが重要です。


1. 基本コード

Application.DisplayAlerts = False
'シート削除などの処理
ActiveSheet.Delete
Application.DisplayAlerts = True

2. ポイント解説

設定説明
Application.DisplayAlerts = FalseExcelからの警告や確認メッセージを表示しない設定
Application.DisplayAlerts = True警告表示を元に戻す設定
通常はTrueに戻すのを忘れないこと

3. なぜ元に戻す必要があるのか?

Application.DisplayAlerts = False を設定すると、すべての警告・確認メッセージが表示されなくなります。

▼ 影響例

  • ファイルを上書き保存しても確認されずに強制上書きされる
  • 削除や変更操作もすべて無確認で実行される
  • 意図しないミスに気付けない

▼ 結果として…

そのまま放置すると、自分のコードだけでなく、手動操作や他のマクロにも影響が出るため、非常に危険です。


4. 実用例(アクティブシート削除)

Sub DeleteActiveSheetNoAlert()
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub

5. 実用例(指定した名前のシート削除)

Sub DeleteSheetByNameNoAlert()
Dim ws As Worksheet
On Error Resume Next
Set ws = ThisWorkbook.Worksheets("Sheet2")
On Error GoTo 0

If Not ws Is Nothing Then
Application.DisplayAlerts = False
ws.Delete
Application.DisplayAlerts = True
End If
End Sub

6. まとめ

✅ ポイント

  • DisplayAlerts = False は 自動化に便利
  • 処理後は必ず True に戻す
  • 戻さないと 他の操作に悪影響 を及ぼす

VBAを書く際は、最後に元に戻す ― これが安全・正しい使い方です。

コメント

タイトルとURLをコピーしました