Excel。マクロ004。バカに出来ない基本中の基本の範囲選択・セル参照
<VBA>
事務職でも知りたいと思っている人が多い、マクロ・VBA。
前回は、
オブジェクトやメソッドなどのカタカナについてご紹介しました。
そこで今回は、少し進みまして、
マクロ・VBAの基本中の基本であります、
【範囲選択】についてご紹介していきます。
慣れている人からすると、【範囲選択?】。
見りゃわかるじゃん。
となるのですが、そのような方ばかりではなく、
研修の時に意外とココあたりですでに、
トラブルになってしまう方が結構いらっしゃるんですよ。
なぜ、基本中の基本なのかというと、
Excelは、範囲選択をしないと始まらないからです。
要するにターゲットに対して指示するわけですから、
その範囲選択が出来ない、設定を忘れたとなると、ちゃんと動いてくれません。
実はココイラあたりに、
事務職系の方がマクロ・VBAが上達しきれないポイントが潜んでいるのですが…
では、まずはRangeプロパティからご紹介していきます。
【Rangeプロパティ】
オブジェクト.Range(“セル番号”)という形なのですが、次のように記述します。
セルB3 ならRange(“B3”)
セルB3:C8ならRange(“B3:C8”)
iという変数と文字結合をあわせて、
Range(“B” & i)としたら、B列のi行目のセル
というように範囲選択することが出来ます。
初心者の方は、
Range(“b2”).Select
というような、一行だけでもいいので、記述してみましょう。
この親戚筋に、
Cellsというのがいるのですが、ごっちゃになる方いますので、
とりあえずは、Rangeだけでいいかと思います。
なぜ、ごっちゃになるのかというと、
Cellsの引数が、行,列という指定だからです。
例えば、
Cells(3,2) と記述すると、B3という意味になります。
なお、Cellsと記述するとシート上のすべてのセルを選択出来ます。
それでは、次のようにVBEで記述してみましょう。
Sub range002()
Range("A5").Value = "スタッフ名"
Range("b3:c4").Value = 200
Cells(6, 1).Value = "内藤"
End Sub
そして実行すると、
まずは、簡単な3行ですが、
どのように動くのかがわかりませんと、
書いてある構文も、書くことも出来ません。
基本が大事です。
【行選択と列選択】
また行選択や列選択の場合には、行選択は、Rows(行番号)
列選択は、Columns(列番号)
を使用します。
これは、ROW関数・COLUMN関数でお馴染みですので、
RowsとColumnsはわかりやすいかと思います。
記述は次のようになります。
Rows(2) は行2を選択
Rows(“2:4”)は、行2~行4を選択します。
ダブルコーテーションが付きますので、そこが注意ポイントになります。
Columns(2) は列2を選択つまり、B列を選択します。
これではわかりにくいので、
Columns(“b”) と記述してもOKですね。
Columns(“b:d”)と記述すれば、B列~D列が範囲選択出来ます。