見出し画像

VBA|Excel操作|セル・範囲|ClearContents / ClearFormats / Clear|内容・書式・両方の違いを整理する


基本構文

ClearContents / ClearFormats / Clear は、Range に対して「何を消すか」を分けて実行するためのメソッドである。

(実務テンプレ)

{対象範囲}.ClearContents
{対象範囲}.ClearFormats
{対象範囲}.Clear

(各要素の意味)

・{対象範囲}:消去したいセル範囲
・ClearContents:値・数式を消す。書式は残す
・ClearFormats:表示書式を消す。値・数式は残す
・Clear:値・数式・書式などをまとめて消す

(戻り値の型・性質)

・戻り値なし
・対象セルを直接変更する破壊的処理


サンプルコード

サンプル①:値だけ消して枠線や色は残す

役割:入力済みデータだけ初期化する
理由:帳票レイアウトを壊さず再入力させたい場面で使う
注意:数式も消えるため、計算セルを含めない

Sub Sample_ClearContents()
    Worksheets("入力").Range("B2:D10").ClearContents
End Sub

サンプル②:出力エリアを完全に初期化する

役割:前回出力の値と書式をまとめて消す
理由:再出力前に見た目ごとリセットしたい
注意:入力規則・コメント・条件付き書式などは別途確認が必要な場合がある

Sub Sample_ClearTypes()
    Dim ws As Worksheet
    Set ws = Worksheets("レポート")

    ws.Range("B2:D10").ClearContents
    ws.Range("F2:H10").ClearFormats
    ws.Range("J2:L10").Clear
End Sub

備考

・ClearContents は「中身だけ消したい」場面の基本
・ClearFormats は色・罫線・表示形式などを消したい時に使う
・Clear は便利だが消える範囲が広いため、テンプレート行や数式行に誤適用しない
・迷ったら、まずは ClearContents で足りるかを検討する
・条件付き書式、入力規則、コメント、ハイパーリンクなどは運用中ブックで実際に確認してから採用する

いいなと思ったら応援しよう!

Parusの寺小屋 技術メモや学習の整理として書いています。 もし内容が役に立ったり、続きを読みたいと思っていただけたら、 応援として受け取らせてもらえたら嬉しいです。