VBA セルやセル範囲中身(値や数式)を消去(ClearContents)

概要

  • ClearContentsRangeオブジェクトのメソッド。
  • セルの「値・数式・コメント以外の内容」を消します(コメントは残ります)。
  • セルの書式やメモ、コメントは消さない。

使い方

Range("A1").ClearContents    ' A1セルの中身だけクリア
Range("B2:D5").ClearContents ' 複数セルの中身をクリア

ClearContentsと似ているメソッドとの違い

メソッド内容書式・コメント書式設定(色など)
ClearContentsセルの値や数式を削除(セルの内容だけ)残る残る
Clearセルの内容と書式、コメントまで全て削除消える消える
Deleteセル自体を削除して、下や右のセルを詰める詰められる詰められる

実用例

1. 単一セルの内容をクリア

Range("A1").ClearContents

2. 複数セルの内容をクリア

Range("A1:C3").ClearContents

3. 変数を使って範囲指定

Dim rng As Range
Set rng = Worksheets("Sheet1").Range("B2:D5")
rng.ClearContents

4. 条件付きでクリア

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

注意点

  • ClearContentsは中身だけ消すので、セルの背景色やフォント色、セルのコメントはそのまま残ります。
  • 完全にセルを初期状態に戻したいならClearを使う。
  • ClearContentsはエラーにはなりにくい安全な方法。

まとめ

メソッド役割備考
ClearContentsセルの値・数式のみクリア書式やコメントは残る
Clearセルの値・書式・コメントすべてクリア完全にクリアしたいとき
Deleteセル自体を削除しセルを詰める行や列の削除と似た効果
タイトルとURLをコピーしました