VBAでセルのデータをクリアしたいけど、見出しはそのまま残しておきたい。そう思ったことはありませんか?
「OffsetとClearContents」を組み合わせることで、データをクリアする場所を指定することができます。
コード
1 2 3 4 5 6 7 8 9 |
Sub Clear_sample1() '-------------------------------------------------------- ' '見出し以外のデータをクリア '-------------------------------------------------------- Worksheets(1).Range("A1").CurrentRegion.Offset(1, 0).ClearContents End Sub |
解説
今回のコードはシンプルです。
名前データは「テストデータ・ジェネレータ」をお借りしました。
![](https://i0.wp.com/umeyalabo.com/wp-content/uploads/2021/08/image-17.png?resize=512%2C325&ssl=1)
まずは「Range(“A1”).CurrentRegion」でA1でCtrl+AでA1:E11を選択した状態にします。
![](https://i0.wp.com/umeyalabo.com/wp-content/uploads/2021/08/image-19.png?resize=513%2C325&ssl=1)
「Offset(1, 0)」で1行下にずらして参照範囲をA2:E11に変更します。
最後に「ClearContents」で表の枠は残して文字と数式だけを削除します。
![](https://i0.wp.com/umeyalabo.com/wp-content/uploads/2021/08/image-18.png?resize=509%2C327&ssl=1)
補足
A列「No」の情報も残しておきたい場合は、「Offset(1, 1)」列方向を1に変更すればOKです!
1 2 |
'見出し以外のデータをクリア Worksheets(1).Range("A1").CurrentRegion.Offset(1, 1).ClearContents |
![](https://i0.wp.com/umeyalabo.com/wp-content/uploads/2021/08/image-20.png?resize=505%2C317&ssl=1)