【VBA道場】#10 セルのデータをクリアする

ExcelVBA

【VBA道場】#10 セルのデータをクリアする



問題

B2~B16の値をクリアせよ。(ただし、書式(罫線)はそのまま残す。)

 

完成見本

 

解答

Sub vba_doujyou_10()
 
 ’B2~B16の値をクリアする
  Sheets("Sheet1").Range("B2:B16").ClearContents

End Sub

サンプルファイル(マクロ無)

マクロなしのファイルはこちらからご利用いただけます。

 

サンプルファイル(マクロ有)

今回のマクロはこちらからダウンロードしてご使用いただけます。

 

解説

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

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

スラスラ読めるExcel VBAふりがなプログラミング [ リブロワークス ]
価格:2035円(税込、送料無料) (2021/4/22時点)

楽天で購入

 

 

 

VBA逆引き大辞典

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

Excel VBA逆引き辞典パーフェクト第3版 [ 田中亨 ]
価格:2838円(税込、送料無料) (2021/4/22時点)

楽天で購入

 

 

タイトルとURLをコピーしました