今回はExcelのVBAでセルのデータを削除する方法を解説します。
セルのデータ削除
今回は以下の表を用いて、セルのデータを削除します。ここでいうセルのデータというのは、セルの文字・数値・数式・書式・コメント・ハイパーリンクなどのことです。こういったセルのデータを削除するために、Clearメソッドを使います。
メソッドとは何か
メソッド(Method)は英語の意味としては”方法”という意味ですが、VBAではオブジェクト(セル・行・列・シート等)に対する”命令”という意味です。VBAでよく出てくる命令の例としては、”追加せよ”、”削除せよ”、”コピーせよ”、”保存せよ”などがあります。
Clearメソッド
Clearメソッドはセルのデータを削除するメソッドですが、いくつかの種類があります。以下で、よく使うものから順に解説していきます。
数式・数値・文字の削除(ClearContents)
まずは数式と文字を削除するメソッド”ClearContents”です。以下のコードによって、B4セルの数式・数値・文字を削除することができます。
Cells(4,2).ClearContents
<実行前>
<実行後>
すべて削除(Clear)
セルの書式なども含めてすべてのデータを削除するメソッドが”Clear”です。同じくB4セルに適用してみましょう。
Cells(4,2).Clear
<実行前>
<実行後>
ClearContentsメソッドと異なり、Clearメソッドでは塗りつぶしや罫線も消えているのがわかると思います。ClearとClearContentsは場合に応じてそれぞれ必要なメソッドを選択しましょう。
その他のClearメソッド
使用頻度は低いですが、上記以外のClearメソッドも紹介します。上記と同様にB4セルに適用する前提でのコードを紹介します。
書式の削除
Cells(4,2).ClearFormats
ハイパーリンクの削除
Cells(4,2).ClearHyperlinks
コメントの削除
Cells(4,2).ClearNotes
コメントの中身の削除
Cells(4,2).ClearComments
複数セルのデータ削除
上記では1つのセルのデータを削除する方法を紹介しましたが、Clearメソッドは複数のセルにも適用できますので、以下で使い方を紹介します。全て統一してClearを例にしますが、もちろんClearContentsなども使えます。
連続範囲のデータ削除
例えばB3:D6の範囲を削除する場合は以下のように実行できます。
Range(Cells(3,2),(6,4)).Clear
非連続範囲のデータ削除
例えばB3,C1,D6を削除する場合は以下のように実行できます。
Range(“B3,C1,D6”).Clear
なお、上記2つの違いを理解するには、CellsとRangeの違いを理解しておく必要があります。以下の記事をご参照ください。
行のデータ削除
例えば4行目を削除する場合は以下のように実行できます。
Rows(4).Clear
列のデータ削除
例えばC列を削除する場合は以下のように実行できます。
Columns(3).Clear
行の削除、列の削除、範囲の削除
上ではセルの中のデータを削除する方法を削除しましたが、行・列・範囲を丸ごと削除する方法は以下の記事で紹介しています。ご参照ください。
コメント