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

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

masahiro yoshida

Last updated on 7月 3, 2022

このチュートリアルでは、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