セルの参照

セルを表すオブジェクトは 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 )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。