シートを削除する方法
スポンサーリンク
Excel VBA でシートを削除するには Delete メソッドを使用します。削除時には警告ダイアログが表示されますが、それを表示されないようにする為には予め Application.DisplayAlerts を False にしておく必要があります。
シート名を指定して削除(1シート)
以下のサンプルコードでは、Sheet3 という名前のシートを削除します。
VBA(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 11 12 | Option Explicit Public Sub test() '削除時のダイアログを非表示にする。 Application.DisplayAlerts = False 'Sheet3という名前のシートを削除する。 ThisWorkbook.Sheets("Sheet3").Delete 'ダイアログの表示モードをもとにもどす。 Application.DisplayAlerts = True End Sub |
シート名を指定して削除(複数シート)
複数シートを削除する場合、対象のシート名を配列で渡します。以下のサンプルコードでは、Sheet1とSheet4という名前のシートを削除します。
VBA(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 11 12 | Option Explicit Public Sub test() '削除時のダイアログを非表示にする。 Application.DisplayAlerts = False 'Sheet1、Sheet4という名前のシートを削除する。 ThisWorkbook.Sheets(Array("Sheet1", "Sheet4")).Delete 'ダイアログの表示モードをもとにもどす。 Application.DisplayAlerts = True End Sub |
シートのインデックスを指定して削除(1シート)
以下のサンプルコードでは、左から2番目のシートを削除します。
VBA(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 11 12 | Option Explicit Public Sub test() '削除時のダイアログを非表示にする。 Application.DisplayAlerts = False 'Sheet3という名前のシートを削除する。 ThisWorkbook.Sheets(2).Delete 'ダイアログの表示モードをもとにもどす。 Application.DisplayAlerts = True End Sub |
シートのインデックスを指定して削除(複数シート)
複数シートを削除する場合、対象のシートのインデックスを配列で渡します。以下のサンプルコードでは、左から2番目と3番目のシートを削除します。
VBA(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 11 12 | Option Explicit Public Sub test() '削除時のダイアログを非表示にする。 Application.DisplayAlerts = False '左から2番目と3番目のシートを削除する。 ThisWorkbook.Sheets(Array(2, 3)).Delete 'ダイアログの表示モードをもとにもどす。 Application.DisplayAlerts = True End Sub |
スポンサーリンク