VBAでセルのデータを消去するとき、「文字だけ消したい」「書式を残したまま値だけ消したい」「全部まとめてクリアしたい」と場面によって目的が異なります。これらを使い分けるのが Clear・ClearContents・ClearFormats の3つのメソッドです。
この記事では、それぞれの違いと使い分けを具体例で解説します。
Clear・ClearContents・ClearFormatsの違いとは?
| メソッド | 消去される内容 |
|---|---|
Clear | 値・書式・罫線など、すべてを消去 |
ClearContents | 値(文字・数値)のみ消去。書式・罫線は残る |
ClearFormats | 書式(色・罫線など)のみ消去。値は残る |
シート全体をすべてクリアするには?
' アクティブシートの全セルをすべてクリア
Cells.Clear
値も書式も罫線もすべて消えます。シートを一から作り直したいときに使います。
書式を残したまま値だけ消去するには?
罫線や背景色が引かれているフォーマットを維持しつつ、入力済みのデータだけをクリアしたい場合は ClearContents を使います。請求書の繰り返し印刷など、フォーマットを保ちながら中身を差し替えるケースに最適です。
' A10〜A19の値だけ消去(書式・罫線はそのまま)
Range("A10:A19").ClearContents
値を残したまま書式だけ消去するには?
データは保持したまま、色や罫線だけをリセットしたい場合は ClearFormats を使います。
' 全セルの書式だけ消去
Cells.ClearFormats
' 一部の範囲の書式だけ消去
Range("A1:A10").ClearFormats
その他のClearメソッドとは?
場面に応じて次のようなメソッドも使えます。
| メソッド | 消去される内容 |
|---|---|
ClearComments | コメント(メモ)を消去 |
ClearHyperlinks | ハイパーリンクを消去 |
まとめ
Clear:値・書式・罫線すべてを消去するClearContents:値だけ消去。書式・罫線は残る(繰り返し印刷フォームに最適)ClearFormats:書式だけ消去。値は残る- シートの削除より
Clearで消去する方が動作が軽くなる - 用途に合わせて3つを使い分けることで意図しない消去を防げる
よくある質問
DeleteメソッドとClearContentsの違いは何ですか?
ClearContents はセルを残したまま値だけ消します。Delete はセル自体を削除してシフトさせます。行や列を詰めたい場合は Delete、セルの位置を変えずに中身だけ消したい場合は ClearContents を使います。
数式だけを消して値を残すことはできますか?
直接的なメソッドはありませんが、「値として貼り付け」でコピー後に元の数式セルを ClearContents するか、SpecialCells(xlCellTypeFormulas) で数式セルだけを選択してから削除する方法があります。
条件付き書式だけを消すにはどうすればいいですか?
Range.FormatConditions.Delete で条件付き書式だけを消せます。ClearFormats は通常の書式設定を消しますが、条件付き書式には別の方法が必要です。
シート全体ではなく特定の行や列だけ消去できますか?
できます。Rows(1).ClearContents(1行目の値を消去)や Columns("A").ClearFormats(A列の書式を消去)のように行・列を指定できます。
消去した後に元に戻せますか?
VBAで実行した消去はCtrl+Zで元に戻せない場合があります。大切なデータを消去する前に必ずバックアップを取るか、確認ダイアログ(MsgBox)を挟む習慣をつけましょう。
動画で学びたい方へ
「記事を読んでも、実際に自分で書けるか不安…」という方には、動画で基礎からじっくり学べる講座がおすすめです。
VBAが初めての方を前提に、つまずきやすいポイントを先回りして解説しています。サンプル動画は無料でご覧いただけます。



