VBA ワークシートの削除とクリア
In this Article
このチュートリアルでは、VBAを使用してワークシートを削除またはクリアする方法について説明します。
ワークシートを削除する
ワークシートを削除するには、deleteコマンドを使用します。
ワークシート名で削除するにはこのようにします。
Sheets("Sheet1").Delete
インデックス番号でワークシートを削除する このコードは、ワークブックの最初のワークシートを削除します。
Sheets(1).Delete
このコードは、ワークブックの最後のワークシートを削除します。
Sheets(Sheets.Count).Delete
プロンプトを表示せずにワークシートを削除する
ワークシートを削除しようとすると、Excelはその操作を確認するように要求します。
このプロンプト(アラート)は、DisplayAlertsを切り替えることで無効にすることができます。
Application.DisplayAlerts = False
Sheets("Sheet1").Delete
Application.DisplayAlerts = True
存在するシートを削除する
存在しないワークシートを削除しようとすると、VBAはエラーを発生させます。On Error Resume Nextを使用すると、シートが存在する場合は削除し、存在しない場合は次のコード行にスキップするようにVBAに指示することができます。
On Error Resume Next
Sheets("Sheet1").Delete
On Error GoTo 0
また、RangeExists関数を使って、シートが存在するかどうかをチェックし、存在する場合は削除することもできます。
If RangeExists("Sheet1") Then
Sheets("Sheet1").Delete
End If
シートをクリアする
このコードは、シート全体の内容、フォーマット、その他すべてをクリアします。
Sheets("Sheet1").Cells.Clear
シートの内容をクリアする
このコードは、シート全体の内容だけ消去します。書式、コメント、その他すべては残します。
Sheets("Sheet1").Cells.ClearContents
シートのUsedRangeをクリアする
前述の例は、ワークシートのすべてのセルをクリアします。これは、大きなシートでは非常に時間がかかる場合があります。代わりにUsedRangeを使用すると、VBAは値や書式などを含む「使用済み」セルのみをクリアします。
Sheets("Sheet1").UsedRange.Clear