VBA入門
セルのクリア(Clear,ClearContents)

ExcelマクロVBAの基本と応用、エクセルVBAの初級・初心者向け解説
公開日:2013年5月以前 最終更新日:2025-03-05

第39回.セルのクリア(Clear,ClearContents)


セルをクリア・消去するマクロVBAの書き方です、
クリア・消去するといっても、セルの何を(値、書式、コメント等々)クリア・消去するかによって、VBAコードが違ってきます。
具体的には、セルの何を(値、書式、コメント等々)クリア・消去するかによって使用するメソッドが変わります。



セル(Rangeオブジェクト)のクリア関係のメソッド一覧

以下のメソッドは、Rangeのメソッドです。
Rangは、Cells、Rows、Columns、Rangeのいずれでも使用可能です。

Range.メソッド

メソッド 説明
Clear 全体(数式・文字・書式・コメント全て)をクリアします。
ClearComments コメントを消去します。
ClearContents 数式と文字を削除します。
ClearFormats 書式設定を削除します。
ClearNotes コメントを削除します。
ClearOutline アウトラインを消去します。
ClearHyperlinks 2010以降のみ、ハイパーリンクを削除します。

太字にしましたが、通常は、ClearClearContentsだけ覚えれば良いでしょう。


Range.Clear

Clearメソッドを実行すると、セルの値も書式もコメントも全てが消去され、
未使用状態(初期状態)になります。

Cells(2, 2).Clear
Range("B2").Clear
Range("B2:C10").Clear
Rows(2).Clear
Columns(2).Clear


Range.ClearContents

ClearContentsを実行すると、セルの数式と文字だけが消去されます。
定数としての文字・数値、そして計算式(関数)が消去されます。
書式(フォント、背景色、罫線等)は残ります。

Cells(2, 2).ClearContents
Range("B2").ClearContents
Range("B2:C10").ClearContents
Rows(2).ClearContents
Columns(2).ClearContents


クリア関係メソッドについて

以上の2つの、ClearとClearContentsはマクロVBAでは必須です。
必ず覚えて下さい。

他のクリア関係のメソッドは、
こういうのもあるんだ、と記憶しておく程度でよいでしょう。
メソッドに引数がありませんので、単純にメソッドを記述するだけです。
必要になった時に、動作確認して使えば良いでしょう。
また、
アクティブブック、アクティブシート以外で使用する場合は、ブックやシート修飾を適宜追加して、以下のように記述します。
Workbooks("ブック名").Worksheets("シート名").Range("セル範囲").Clear


メソッド実行がエラーになる場合

ClearやClearContentsの実行がエラーになってしまう場合があります。

セルが保護されている場合

セルがロック、かつシート保護されている場合)

VBA マクロ Clear 実行時エラー
実行時エラー '1004':
変更しようとしているセルやグラフは保護されているシート上にあります。変更するには、シートの保護を解除してください。パスワードの入力が必要な場合もあります。
VBAでシート保護を一旦解除してからクリアしたのち、再度シート保護してください。
シート保護の詳細は、第68回.シートの保護、ブックの保護(Protect) を参照してください。
・シートの保護 ・シートの保護解除 ・シート保護・解除の実践例 ・ブックの保護 ・ブックの保護解除 ・最後に


セルが結合されている場合

VBA マクロ Clear 実行時エラー

Range("B2").ClearContents

VBA マクロ Clear 実行時エラー
実行時エラー '1004':
この操作は結合したセルには行えません。
結合されたセルに対応するクリア・消去のVBAは以下になります。

Range("B2").MergeArea.ClearContents
Range("B2").Value = ""

詳しくは、第85回.結合セルの扱い を参照してください。
・セル結合に関する、メソッド・プロパティ ・セル結合のマクロVBA使用例 ・セル結合時の値消去 ・指定セル範囲に結合セルが存在するか判定するマクロVBA ・セル結合時のOffsetとResizeの注意点




同じテーマ「マクロVBA入門」の記事

第35回.セルの書式(罫線,Border)
第36回.総合練習問題4
第37回.ブック・シートの指定
第39回.セルのクリア(Clear,ClearContents)
第40回.セルのコピー・カット&ペースト(Copy,Cut,Paste)
第41回.セルのコピー&値の貼り付け(PasteSpecial)
第42回.セルをコピーするとは
第43回.総合練習問題5
第44回.VBA関数について
第45回.VBA関数(Format)
第46回.VBA関数(日付,DateAdd)


新着記事NEW ・・・新着記事一覧を見る

WshNetwork(ネットワークドライブの割り当て等)|VBA技術解説(2025-04-09)
TRANSLATE関数(翻訳) DETECTLANGUAGE関数(言語識別)|エクセル入門(2025-04-08)
QRコード、バーコード作成の覚え書き|エクセル関数応用(2025-04-05)
TRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)|エクセル入門(2024-08-30)
正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)|エクセル入門(2024-07-02)
エクセルが起動しない、Excelが立ち上がらない|エクセル雑感(2024-04-11)
ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.繰り返し処理(For Next)|VBA入門
4.変数宣言のDimとデータ型|VBA入門
5.RangeとCellsの使い方|VBA入門
6.ひらがな⇔カタカナの変換|エクセル基本操作
7.セルのクリア(Clear,ClearContents)|VBA入門
8.メッセージボックス(MsgBox関数)|VBA入門
9.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
10.条件分岐(Select Case)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ