シートを削除する


シートの削除はDeleteメソッド

シートを削除するにはWorksheetオブジェクトDeleteメソッドを使います。次のコードはアクティブシートを削除します。

Sub Sample04()
    Activesheet.Delete
End Sub

実に簡単です。ところが厄介なことに、データを入力したシートを削除しようとすると「本当に削除してもいいの?戻せないよ?いいの?」と念を押されます。手作業でしたら[削除]ボタンをクリックすればいいのですが、マクロで一連の処理を行うとき、いちいちこのメッセージで止まっては困ります。このメッセージを出さないで削除する方法はないのでしょうか。

もちろんあります。Excelでは多くの確認メッセージが表示されます。この確認メッセージを全て出さなくするには、ApplicationオブジェクトDisplayAlertsプロパティにFalseを設定します。次のコードは確認メッセージを出さないでアクティブシートを削除します。

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

確認メッセージを抑止するDisplayAlertsプロパティと、画面の更新を抑止するScreenUpdatingプロパティは、もはやTIPSとも呼べない基本中の基本です。知らなかった人は、この機会に暗記しましょう。