サンプルコード
1 2 3 4 5 6 7 8 9 10 11 |
Sub DeleteAllSheets() Dim i As Integer Application.DisplayAlerts = False '警告メッセージを非表示にする For i = ActiveWorkbook.Sheets.Count To 1 Step -1 ActiveWorkbook.Sheets(i).Delete Next i Application.DisplayAlerts = True End Sub |
このVBAコードは、アクティブなExcelブック内のすべてのシートを削除することができます。
具体的には、このコードは以下のようなことを行います。
- 警告メッセージを非表示にします。
- ブック内のすべてのシートを後ろから順に削除します。
- 警告メッセージを再び表示します。
このコードは、Excelブック内で大量のシートを一度に削除する必要がある場合に便利です。
ただし、削除したシートは元に戻すことができないため、注意して使用する必要があります。また、必ず事前にバックアップを取ることをお勧めします。
サンプルコードの説明
1 |
Sub DeleteAllSheets() |
この行は、サブルーチン(Sub)を定義しています。このサブルーチンはDeleteAllSheetsという名前であり、シートを削除するために使用されます。
1 |
Dim i As Integer |
この行は、ループ変数としてiという整数を宣言しています。
1 |
Application.DisplayAlerts = False '警告メッセージを非表示にする |
この行は、ExcelアプリケーションのDisplayAlertsプロパティをFalseに設定して、警告メッセージを非表示にします。
1 |
For i = ActiveWorkbook.Sheets.Count To 1 Step -1 |
この行は、ActiveWorkbook.Sheets.Countから1まで、1ずつ減らしながらループを実行します。
このループは、Excelブック内のすべてのシートを削除するために使用されます。
1 |
ActiveWorkbook.Sheets(i).Delete |
この行は、ループ内でiという変数で指定されたシートを削除します。
1 |
Next i |
この行は、Forループを終了します。
1 |
Application.DisplayAlerts = True |
この行は、ExcelアプリケーションのDisplayAlertsプロパティをTrueに設定して、警告メッセージを再び表示します。
1 |
End Sub |
この行は、サブルーチンの終了を示します。
コメント