3本目 セルの値の消去

VBA100本ノック

VBA100本ノック 3本目の投稿です。Excelの神髄さんの模範解答はコチラ


問題

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

解答

Sub ノック3本目()

    Range("A1").CurrentRegion.Offset(1, 1).ClearContents

End Sub

1、2本目で”メソッド”(Select,Copy)を説明していたため、今回は”プロパティ”について軽く説明すべく、この解答としました。

新人君
新人君

“メソッド”と”プロパティ”の違いが、何となく分かったような気がしまっス!

ブチョ
ブチョ

えぇ…俺は一ミリたりとも分からなかったよ?

新人君
新人君

・・・・・

Range.CurrentRegionプロパティ

Rangeの”表範囲”を取得できるプロパティ。
※斜めに隣接する範囲も含まれる。
例↓

これ以降もめちゃくちゃ使います。
是非3本目の今、覚えてください。

ブチョ
ブチョ

縦横に繋がってる範囲だけでなく、
ナナメもCurrentRegionに含まれるのね!

新人君
新人君

そうっスね!!

ブチョ
ブチョ

ちなみにこれって
ナナナナメは含まれるの?

新人君
新人君

な、ナナナナメは知らないっス…

Range.Offsetプロパティ

■構文
Range.Offset (RowOffset, ColumnOffset)

Rangeをずらせるプロパティ。(雑)
RowOffset…行方向(縦)
ColumnOffset…列方向(横)

行方向(下)に1セルずらす場合↓

数値をマイナスにすることで、左、上にもずらせる。

列方向(左)に1セルずらす場合↓

Range.ClearContentsメソッド

セルの値(数式)を消去するメソッド。

ちなみに似たようなのがめちゃくちゃ多い↓(Clear,ClearComments,ClearFormats etc.)が、
ClearContentsが圧倒的に使用頻度が高い。(それってあなたの感想ですよね?)

気が向いたら覚えましょう。

あとがたり

おはこんばんちは。uぷ主です。
え?「メソッドとプロパティの違いがわからない?」(過去の私)

いやいや…全然別物やんけ!!!…って今なら言えるんですけど…、

ちゃうんですよ。

最初はマクロの記録とか、他の人のコードとか、わからないところをググるじゃないですか。テキトーに。
そしたら、○○メソッドとか、△△プロパティとか、出てくるんですよ。
メソッドもプロパティも、はた目から見たら一緒なんですよ。カタカナなんで。

「ま、とりあえずなんとなく動いたからえっか~」
で、時は過ぎ…2年後…

新人君「先輩!プロパティとかメソッドとかってなんすか?」
主「えっ?おぉ…おぉん…」

あの頃のワイに、ノック1~3本目を見せてあげたいです。

最後までご視聴ありがとうございました。

コメント

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