- Home ›
- Excel VBA入門 ›
- Rangeオブジェクトの取得 ›
- HERE
セルの参照
セルに対する様々な操作を行う上で、対象となるセルをオブジェクトとして取得することがまず必要になります。
セルを表すオブジェクトはRangeオブジェクトです。Rangeオブジェクトを取得する方法はいくつかありますが、まずは元になっているWorksheetオブジェクトなどのプロパティを使ってRangeオブジェクトを取得する方法です。使用するプロパティは「Range」プロパティです。
Dim range1 As Range Set range1 = オブジェクト.Range("A1") range1.Value = 10
「Range」プロパティの括弧の中にダブルクオーテーション("")で囲んだ中にExcelのA1形式でセルの位置を記述することで、対象オブジェクトに含まれるRangeオブジェクトを取得することができます。(オブジェクトはWorksheetの他に、既にあるRangeオブジェクトなどでも使えます)。
今までのサンプルで使っていたのはオブジェクトを省略し(省略すると現在アクティブのワークシートになります)、Range型の変数を別途用意せずにまとめて記述していました。
Range("A1").Value = 10
普段はあまり気にする必要はありませんが、「Range("A1")」と書かれていた場合は、これがRangeオブジェクトそのものではなく、ワークシートなどのオブジェクトのRangeプロパティであり、このプロパティによってRangeオブジェクトが取得出来ているという点だけ覚えておいてください。
Dim range1 As Range Set range1 = Range("A1") range1.Value = 10
サンプルプログラム
では簡単なサンプルで試してみましょう。
Sub テスト() Dim range1 As Range Set range1 = Range("A1") range1.Value = 10 Range("C3").Value = "日本語" End Sub
上記のマクロを実行すると次のようになります。
( Written by Tatsuo Ikura )