ExcelVBA(マクロ)で指定したセルの値・書式・両方を削除する方法/Clear・ClearContents・ClearFormatsメソッドの使い方

dunes IT

Excelでフォーマットを作り、入力してプリントアウト、このフォーマットをもう一度使おうと思ったらデータをクリアして、まっさらな状態にする必要があります。
あらかじめClear・ClearContents・ClearFormatsを上手く使うことで、マクロ一発でフォーマットをまっさらな状態に戻すことが可能です。

Advertisements

ClearContentsメソッドの使い方

最初に差を書いておくと、ClearContentsが値、ClearFormatsが書式、Clearはその両方をクリアすることができます。
ですので、途中まで読んで大体わかったら別にこの記事全部読む必要はないです。3つそれぞれ説明していますが、上に書いた内容以上のことは書いていません。

値をクリア
対象.ClearContents
vbaclear1

こんな感じのフォーマットで、入力した名前・住所・電話番号だけをクリアしてみます

vbaclear2

開発→マクロへ進み、
Range(“B1:B3”).ClearContents
B1~B3に入力された値をクリアする)と入力します

vbaclear3

マクロを実行すると、書式を残してB1~B3の値だけが削除されました

ClearFormatsメソッドの使い方

今度は書式をクリアするClearFormatsの使い方です(ほぼ同じですが)。

書式をクリア
対象.ClearFormats
vbaclear4

さっきの式を編集して、
Range(“B1:B3”).ClearFormats
B1~B3に設定された書式をクリアする)と入力しておきます

vbaclear5

同じ表に対してマクロを実行すると……

vbaclear6

書式がクリアされたので、罫線が消えました

Clearメソッドの使い方

Clearメソッドを使うと、値、書式の両方をまとめてクリアすることができます。ClearContentsとClearFormatsをまとめて実行しても同じ結果になります。

値と書式をクリア
対象.Clear
vbaclear7

式を編集して、
Range(“B1:B3”).Clear
B1~B3値と書式をクリアする)に変更します

vbaclear8

書式は罫線以外にも、背景色やフォントなども含まれます

vbaclear9

マクロを実行すると、書式と値がまとめてクリアされることが確認できました

セルを指定するのではなく、選択しているセルをクリアしたい場合

RangeではなくSelectionを指定することで、選択しているセルの内容をクリアすることが可能です。

' vba 選択中のセルの値をクリア
Selection.ClearContents
やりたいことから方法を探すエクセルExcel操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。

コメント