見出し画像

【Day36】文系オタクのエンジニア道~複数セルと行、列~

こんにちは
安田です

喧嘩や乱闘している映画やシーンを見ると
ついつい自分も強くなった感じがしませんか
最近、アニメ WIND BREAKER(ウインドブレーカー)にハマっています

はい、ちょっとだけ現実から遠のいていましたが
今日もVBAの学習を進めていきます


セルの範囲指定

セル範囲を指定する時、Range(”A1:C3”)と記述します

Rangeにはもう一つの書き方があります

Range(左上のセル, 右下のセル)

という書式があります

どういう時に使うか

実務上では、データ量が異なる資料を扱うことが多い
そのため、わからないセル範囲をフレキシブルに特定するときに
Range(左上のセル, 右下のセル)が活躍します

赤枠の箇所だけをクリアにしたい場合

B列のデータだけをクリアする
B3:B6ですが、実務ではデータが変わるので
最下セルがB6が分からない事が多いです

そのため
Range(Range("B3"), 右下セル)とおきます

Endモードを使うと「右下セル」は
Range("B1") .End(xlDown)とおきます

まとめると

Range(Range("B3"), Range("B1") .End(xlDown))

長い笑


行を指定する Rowオブジェクト

行はRowオブジェクトで表されます
いくつかのパターンがあります

Rows(4)
4番目の行を表します

Rows(”4:6”)
4行目から6行目までの3行分を指定するときに使います
行番号を「:」コロンで繋ぎ
ダブルクォーテーションで囲みます

Range(”4:6”)
行のセル全体を表します
Rangeで4行目だけを指定する場合はRange("4:4")と書きます

Range("B4").EntireRow
任意のセルを含む行全体を表します


列を指定する Columnオブジェクト

Columns(4)/Columns("D")
列はColumnオブジェクトで表されます
どちらも4番目の列=D列を表します

Columns("D:F")
D列からF列までの3列を表します
Columns("4:6")というように数値で指定はできない

Range("D:F")
単一の列を指定するときは、Range("D:D")のように記述します

Range("B4").EntireColumn
任意のセルを使って列を指定するには
行と同じようにEntireを使います


まとめ

今回はセルの範囲指定を学習しました

RowとColumnオブジェクトを覚えておきます

参考文献

VBAマスターに俺はなる

最後まで読んでいただき
ありがとうございます
安田

マガジンにまとめてありますので
よかったらそちらも御覧ください


この記事が気に入ったらサポートをしてみませんか?