VBAでデータを消去する方法|Clear・ClearContents・ClearFormatsの使い分け

VBAでセルのデータを消去するとき、「文字だけ消したい」「書式を残したまま値だけ消したい」「全部まとめてクリアしたい」と場面によって目的が異なります。これらを使い分けるのが ClearClearContentsClearFormats の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が初めての方を前提に、つまずきやすいポイントを先回りして解説しています。サンプル動画は無料でご覧いただけます。

動画で学ぶExcelマクロ|JIMOVEオンラインスクール

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール