和風スパゲティのレシピ

日本語でコーディングするExcelVBA

3本目:セルの消去

Excel&VBA解説サイト「エクセルの神髄」様出題の問題集、
VBA100本ノック」に対する私の回答と解説のページです。

100本ノックの出題リストはこちらから
excel-ubara.com

出題:セルの消去

#VBA100本ノック 3本目
画像のように1行目に見出し、A列に№が入っています。
№行数およびデータ行数は毎回変化します。
この表の見出し(1行目)と№(A列)を残して、データ部分のみ値を消去してください。
※シートはアクティブシート

データサンプル

◇ 出題ページはこちら

ソースコード

Option Explicit

' 100本ノック003:セルの消去
Sub 見出しとA列を残して消去する()

    WSデータ.Range("A1").CurrentRegion.Offset(1, 1).ClearContents
    
End Sub

解説

表のデータ部分だけを消去する問題でした。

この手の処理はCurrentRegionプロパティがとても便利ですね。


CurrentRegionは空行・空列に囲まれた範囲のため、
Offset(1, 1)ではみ出た範囲には確実にデータがありません。

よってクリア範囲にResize(元の行数-1, 元の列数-1)をかます必要はありません。


このおかげでサッと書ける便利なコードですので、
しっかり習得しておきましょう。