【Day36】文系オタクのエンジニア道~複数セルと行、列~
こんにちは
安田です
喧嘩や乱闘している映画やシーンを見ると
ついつい自分も強くなった感じがしませんか
最近、アニメ WIND BREAKER(ウインドブレーカー)にハマっています
はい、ちょっとだけ現実から遠のいていましたが
今日もVBAの学習を進めていきます
セルの範囲指定
セル範囲を指定する時、Range(”A1:C3”)と記述します
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マスターに俺はなる」
最後まで読んでいただき
ありがとうございます
安田
マガジンにまとめてありますので
よかったらそちらも御覧ください
この記事が気に入ったらサポートをしてみませんか?