Rangeプロパティ
いよいよ、実践的なVBAのプログラミングの学習に入っていきます。
最初に学習するのは「Rangeプロパティ」です。
いきなりRangeプロパティと言われても、正直 「なんのこっちゃ?」 という感じでしょうが、順番に説明していきますのでついてきて下さい。
「Rangeプロパティ」の役割、それは”範囲の指定”ただそれだけです。
「範囲の指定」と突然言われても理解できないかもしれませんので、少し補足しておきたいと思います。
例えば、「マクロの記憶」を実行し、A1のセルを指定しようと思った場合には、マウスを使ってA1のセルをクリックすれば、それでことが足りてしまいます。
しかし、VBAのプログラミングコードの中でA1のセルを指定をしようと思った場合、プログラムのコードはマウスを動かすことができないので、その操作を何かで補ってやらなくてはなりません。
そこで登場するのがRangeプロパティというわけです。
ご託を並べるよりも、実際の使用方法を見たほうが理解がしやすいので、早速実用例を見ていくことにしましょう。
1つのセルだけを指定するとき
1つのセルだけを指定するときは、ごく単純にRangeプロパティの指定範囲の中に、そのセルの行と列の番号を表記するだけです。
VBAのコードでA1のセル単独を指定したいときのコードを表現してみると下のようになります。
Range("C4") | ![]() |
マウスに置き換えてみると、このプロパティは「C4」のセルを選択しクリック」という動作になります。
複数のセルの範囲を指定するとき
複数のセルの範囲を指定するときには、その範囲の一番左上のセルと「一番右下のセル」を
(:)コロンでつないで表記してやることで、指定したい範囲を指示することができます。
A1からC4までの範囲を指定したい場合の具体的なVBAのプログラムコードを表現してみると以下のようになります。
Range("A1:C4") | ![]() |
マウスに置き換えてみると、このプロパティは「A1をクリックし、ドラッグしながらC4のセルまで範囲指定」という動作と同じです。
【行】または【列】を指定するとき
【行】または【列】を指定するときは、複数のセル範囲を指定したときと同じように、その範囲を指定してやれば良いのです。
具体的にVBAのプログラムコードで表現してみると、下に書いたような表記となります。
Range("C:C") Range("4:4") |
![]() |
これで、Cの列と3の行をそれぞれ指定することができます。
マウスに置き換えてみると、それぞれ「Cをクリックしたとき(列指定)」と「3をクリックしたとき(行指定)」と同じことですね。
同じアルファベットや数字を繰り返し入力するだけで、【行】や【列】は簡単に指定できるということです。エクセルのシートに表示されているアルファベットか数字をそのまま入力するだけなのでとても分かりやすいです。
-----------------------------------------------------------------------------
「Rangeプロパティ」を使って、セルや範囲、行・列を指定するには上記ようにVBAのコードの中に記述してやれば良のです。
「マウスを使って範囲指定」 ⇒ 「範囲を全てプログラムコードで指定」
と変更になっただけだと考えると理解しやすいでしょう。
基本的にはVBAとは、すべて手作業からコードへの置き換えに過ぎません。
この調子で、次は「Cellプロパティ」について学んでいきたいと思います。
