教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA セル操作】選択したセル範囲のデータをクリア(ClearContents)する方法を教えて!

構文

構文は以下の通りです。

Range("セル範囲").ClearContents

解説

ClearContentsメソッドは、セルの内容を完全に削除します。つまり、数式や書式設定も削除されます。セル範囲は、単一のセルや範囲を指定することができます。

使い方

以下に、具体的な使い方を幾つか紹介します。

1.単一のセルの内容を削除する場合

Range("A1").ClearContents

上記のコードは、A1セルの内容を削除します。

2.範囲内のセルの内容を削除する場合

Range("A1:B10").ClearContents

上記のコードは、A1セルからB10セルまでの範囲内のセルの内容を削除します。

3.変数を使用してセル範囲を指定する場合

Dim rng As Range
Set rng = Range("A1:B10")
rng.ClearContents

上記のコードは、変数rngにA1セルからB10セルまでの範囲を代入し、その範囲の内容を削除します。

4.ワークシート全体の内容を削除する場合

ActiveSheet.UsedRange.ClearContents

上記のコードは、アクティブなワークシートの使用されている範囲内のセルの内容を削除します。これにより、ワークシート全体の内容が削除されます。

5.条件を満たすセルの内容だけを削除する場合

Dim cell As Range
For Each cell In Range("A1:A10")
    If cell.Value > 10 Then
        cell.ClearContents
    End If
Next cell

上記のコードは、A1からA10までの範囲内のセルをループ処理し、値が10より大きいセルの内容を削除します。条件を満たすセルのみを対象にすることで、特定の条件に基づいて内容を削除することができます。

プログラミング例

以下に、具体的なプログラミング例を示します。

Private Sub ClearButton_Click()
    Dim rng As Range
    Set rng = Range("A1:B10")
    rng.ClearContents
End Sub

上記のコードでは、ClearButton_Clickというサブルーチンが実行されます。Set rng = Range("A1:B10")でセル範囲を指定し、rng.ClearContentsでその範囲内のセルの内容が削除されます。このコードをボタンのクリックイベントに関連付けることで、ボタンをクリックすると指定した範囲のセルの内容が一括で削除されます。

まとめ

ClearContentsメソッドを使用すると、セルの内容を簡単に削除することができます。是非活用してください。