セルの参照

セルを表すオブジェクトは Range オブジェクトです。ここでは Excel VBA を使って取得した Range オブジェクトを使って単一のセルを参照する方法について解説します。

(Last modified: )

セルを参照する

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

上記のマクロを実行すると次のようになります。

Rangeオブジェクト

-- --

Excel VBA を使って取得した Range オブジェクトを使って単一のセルを参照する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。