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)をかます必要はありません。
このおかげでサッと書ける便利なコードですので、
しっかり習得しておきましょう。