Excel。VBA。表の見出しや小計・総計は残して、数値のデータだけを削除したい
<SpecialCellsメソッド>
見出し行や集計行などは、残してデータの数値だけを削除したい。
範囲選択をして削除するだけですが、範囲選択が面倒になってきます。
B2:D4とB6:D8のデータを削除したいわけです。
そこで、Excel VBAでプログラム文をつくってみることにしました。
Sub 数値のみ削除()
Range("a1").CurrentRegion.SpecialCells(xlCellTypeConstants, xlNumbers).ClearContents
End Sub
では、実行してみましょう。
B2:D4とB6:D8のデータだけを削除することができました。
数式や見出し行は残すことができました。
それでは、プログラム文を確認します。
Range("a1").CurrentRegion.SpecialCells(xlCellTypeConstants, xlNumbers).ClearContents
Range("a1").CurrentRegion で、A1を起点とした連続したデータを範囲選択します。
SpecialCellsメソッドを使用すると、指定した条件に該当するセルを取得することができます。
xlCellTypeConstantsは、定数が含まれているセルという意味です。
さらに、xlNumbersというValueの設定値は、”数値”を意味します。
つまり、『数値の入っているセル』という意味になります。
よって、A1を起点とした連続する、数値が入力されているセルを範囲選択して、削除(ClearContents)するという処理ができるというわけです。
たった一行なので、用意していてもいいかもしれませんね。