VBA でシートを削除するには、Delete メソッドを使用します。ここでは、Delete メソッドの使い方について説明します。
Delete メソッドの使い方
Delete メソッドの構文は以下の通りです。
1 |
削除するシート.Delete |
Delete メソッドでは、削除対象となるシートを指定してメソッドを呼び出します。
もし対象のシートが存在しない場合や、シートが1枚しか存在しない場合はエラーになるので注意してください。
シート名を指定して削除する
以下は、Sheet1 を削除する例です。
1 |
Worksheets("sheet1").Delete |
Worksheets の引数にシート名を指定することで、指定した名前のシートを削除することができます。
シートのインデックス番号で削除する
以下は、2番目のシートを削除する例です。
1 |
Worksheets(2).Delete |
複数のシートを一括で削除する
Array 関数を使用すれば、複数のシートを同時に削除できます。
以下、Sheet2、Sheet3、Sheet4 を同時に削除する例です。
1 |
Worksheets(Array("Sheet2", "Sheet3", "Sheet4")).Delete |
確認メッセージを非表示にする
Delete メソッドでシートを削除するとき、以下のような確認メッセージが表示されます。
このダイアログを表示させたくない場合は、以下のようにします。
1 2 3 |
Application.DisplayAlerts = False '確認メッセージを非表示設定にする Worksheets("Sheet1").Delete Application.DisplayAlerts = True '確認メッセージを表示設定に戻す |
Application.DisplayAlerts の設定を切り替えることで強制的にシートを削除することができます。