Excel VBAでシートを削除する:Delete

VBA でシートを削除するには、Delete メソッドを使用します。ここでは、Delete メソッドの使い方について説明します。

Delete メソッドの使い方

Delete メソッドの構文は以下の通りです。

削除するシート.Delete

Delete メソッドでは、削除対象となるシートを指定してメソッドを呼び出します。

もし対象のシートが存在しない場合や、シートが1枚しか存在しない場合はエラーになるので注意してください。

シート名を指定して削除する

以下は、Sheet1 を削除する例です。

Worksheets("sheet1").Delete

Worksheets の引数にシート名を指定することで、指定した名前のシートを削除することができます。

シートのインデックス番号で削除する

以下は、2番目のシートを削除する例です。

Worksheets(2).Delete

複数のシートを一括で削除する

Array 関数を使用すれば、複数のシートを同時に削除できます。

以下、Sheet2、Sheet3、Sheet4 を同時に削除する例です。

Worksheets(Array("Sheet2", "Sheet3", "Sheet4")).Delete

確認メッセージを非表示にする

Delete メソッドでシートを削除するとき、以下のような確認メッセージが表示されます。

vba_delete

このダイアログを表示させたくない場合は、以下のようにします。

Application.DisplayAlerts = False '確認メッセージを非表示設定にする
Worksheets("Sheet1").Delete
Application.DisplayAlerts = True  '確認メッセージを表示設定に戻す

Application.DisplayAlerts の設定を切り替えることで強制的にシートを削除することができます。