【VBA道場】#10 セルのデータをクリアする
問題
B2~B16の値をクリアせよ。(ただし、書式(罫線)はそのまま残す。)
完成見本
解答
Sub vba_doujyou_10()
’B2~B16の値をクリアする
Sheets("Sheet1").Range("B2:B16").ClearContents
End Sub
サンプルファイル(マクロ無)
マクロなしのファイルはこちらからご利用いただけます。
VBA道場10 サンプルファイル(マクロ無)
1 ファイル 9.46 KB
サンプルファイル(マクロ有)
今回のマクロはこちらからダウンロードしてご使用いただけます。
VBA道場10 サンプルファイル(マクロ有)
1 ファイル 14.50 KB
解説
object.ClearContents:セルのデータをクリアする
object:対象となるRangeオブジェクト
セルに設定した書式をそのまま残し、入力したデータだけをクリアする場合には「ClearContents」を使います。
Clear関連の違いは以下の通りです。
・Clear:書式とデータの両方を消す
・ClearContents:データを消す
・ClearFormats:書式を消す
しかし、実はもっと簡単な方法があります。
発想を変えて下記別解を見てみましょう。
別解
Sub vba_doujyou_10()
Sheets("Sheet1").Range("B2:B16") = ""
End Sub
別解では、値をクリアしたい範囲に「””(空白)」を代入しています。
これで、データのみを消す処理と同じ結果になります。
おわりに
今回はセルのデータをクリアする方法について学習しました。
ちょっとしたことですが、発想の転換も非常に重要です。
しっかりと復習しておきましょう。
今日はここまで!
おすすめ参考書
Amazon
たった1秒で仕事が片付くExcel自動化の教科書
いちばんやさしいExcelVBAの教本
ExcelVBA逆引き辞典 パーフェクト
楽天
いちばんやさしいExcelVBA
|
すらすら読めるExcelVBA
|
VBA逆引き大辞典
|