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 で足りるかを検討する
・条件付き書式、入力規則、コメント、ハイパーリンクなどは運用中ブックで実際に確認してから採用する
いいなと思ったら応援しよう!
技術メモや学習の整理として書いています。
もし内容が役に立ったり、続きを読みたいと思っていただけたら、
応援として受け取らせてもらえたら嬉しいです。