Return to VBA Code Examples

VBA ワークシートの削除とクリア

このチュートリアルでは、VBAを使用してワークシートを削除またはクリアする方法について説明します。

ワークシートを削除する

ワークシートを削除するには、deleteコマンドを使用します。

ワークシート名で削除するにはこのようにします。

Sheets("Sheet1").Delete

インデックス番号でワークシートを削除する このコードは、ワークブックの最初のワークシートを削除します。

Sheets(1).Delete

このコードは、ワークブックの最後のワークシートを削除します。

Sheets(Sheets.Count).Delete

プロンプトを表示せずにワークシートを削除する

ワークシートを削除しようとすると、Excelはその操作を確認するように要求します。

vba delete sheet 削除 シート

このプロンプト(アラート)は、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
vba-free-addin

VBA Code Examples Add-in

Easily access all of the code examples found on our site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(No installation required!)

Free Download

Return to VBA Code Examples