Clear / ClearContents / ClearFormats オブジェクトRange メソッド(動作)

Range
スポンサーリンク

Excel VBAにおいて、セルの内容や書式を削除(クリア)する操作は、非常によく使われる機能のひとつです。ユーザーが入力した値を消したり、見た目を初期化したり、テンプレートとしての再利用を目的とする場合など、さまざまなシーンで登場します。

この目的のために用意されているのが、Range オブジェクトに属する以下の3つのクリア系メソッドです。

  • Clear:セルのすべて(値、書式、コメントなど)を削除
  • ClearContents:セルの値や数式のみを削除(書式は保持)
  • ClearFormats:セルの書式のみを削除(値は保持)

それぞれの違いを理解することで、状況に応じた適切な使い分けができるようになります。


スポンサーリンク

基本構文

Range("A1").Clear
Range("A1").ClearContents
Range("A1").ClearFormats

1. Range.Clear メソッド

● 説明

Clear メソッドは、対象のセル範囲からすべての情報を削除します。これには以下が含まれます。

  • 数式
  • 書式(フォント、色、罫線など)
  • コメント
  • 条件付き書式

● 使用例

Range("A1:C3").Clear

このコードを実行すると、「A1~C3」のすべてのセルが完全に初期状態に戻されます。

● 特徴

項目内容
値の削除
書式の削除
コメントの削除
使用場面ワークシートのリセット、テンプレートの初期化など

2. Range.ClearContents メソッド

● 説明

ClearContents は、セルの中の値または数式だけを削除します。セルの外見(フォント、色、罫線などの書式)は残ります。

● 使用例

Range("B2:D4").ClearContents

このコードは「B2:D4」のセルの内容のみをクリアします。背景色やフォント設定はそのまま残ります。

● 特徴

項目内容
値の削除
書式の削除×
コメントの削除×
使用場面ユーザーが入力したデータの消去、テンプレート化の準備など

3. Range.ClearFormats メソッド

● 説明

ClearFormats は、セルの書式のみを削除します。値、数式、コメントはそのまま残ります。

削除される書式の例:

  • フォントの種類・サイズ・色
  • 背景色
  • 罫線
  • 揃え(中央揃え、右揃えなど)
  • 通貨・日付などの表示形式

● 使用例

Range("A1:A10").ClearFormats

このコードは「A1:A10」のセルの書式設定だけを初期化します。値はそのまま残ります。

● 特徴

項目内容
値の削除×
書式の削除
コメントの削除×
使用場面見た目の統一、データの可視化初期化など

4. 使用例まとめ

コード例結果
Range("A1").Clear値も書式もコメントも全削除
Range("A1").ClearContents値や数式のみ削除、見た目はそのまま
Range("A1").ClearFormats書式だけ削除、値はそのまま表示
Range("A1:C3").Clear3×3の範囲のすべてをクリア
Selection.ClearContents選択中のセルの内容のみ削除
Range("B2").Value = ""値を削除(書式は残る、ClearContentsと同じ)

5. 応用例

● 入力された範囲のみ内容をクリア

If WorksheetFunction.CountA(Range("B2:D5")) > 0 Then
Range("B2:D5").ClearContents
End If

● 書式だけ初期化して、見た目を統一

With Range("A1:A10")
.ClearFormats
.Font.Name = "Calibri"
.Font.Size = 11
End With

6. よくある誤解と注意点

誤解実際
ClearContents は全削除と思っている値や数式のみ。書式は残る
Clear はシート全体を削除できると思っているあくまでセルの範囲が対象
Delete と混同Delete は行/列のシフト操作を含む別の処理

7. Clear と Delete の違い

操作内容
Range("A1").ClearA1セルの中身を削除、セルは残る
Range("A1").DeleteA1セルを削除し、下のセルを上に移動

8. シナリオ別の使い分け

シナリオ使用メソッド
入力内容だけ消したいClearContents
セルを初期状態に戻したいClear
書式をリセットしたいClearFormats
空白セルを埋めたい前処理ClearContents

9. まとめ

メソッド内容主な使用場面
Clear値・書式・コメント・数式すべて削除シート初期化など
ClearContents値と数式のみ削除、書式は保持データリセット
ClearFormats書式のみ削除、値は保持表示初期化や視認性改善
タイトルとURLをコピーしました