Excel VBA | 超初心者(Excel操作+マクロ体験):VBA基礎環境 – オブジェクトブラウザ

Excel VBA VBA
スポンサーリンク

オブジェクトブラウザは「Excelの辞書+地図」

オブジェクトブラウザは、VBAで使える「オブジェクト・プロパティ・メソッド・定数」を一覧で調べられるツールです。
イメージとしては、Excelの世界の「辞書」と「地図」が合体したものだと思ってください。

「Range って、どんなプロパティがあるんだっけ?」
「Workbook にはどんなメソッドがある?」
「このプロパティの型は何?」

こういう疑問を、ネット検索に行く前に“その場で調べられる”のがオブジェクトブラウザです。
VBAを本気で触る人は、ほぼ全員これを使っています。

オブジェクトブラウザの開き方と画面のざっくり構造

開き方(F2を体で覚える)

VBE(Alt+F11)を開いた状態で、キーボードの F2 を押します。
または、メニューの「表示」→「オブジェクトブラウザ」でもOKです。

画面が切り替わり、上にライブラリ選択と検索ボックス、
左下に「クラス」の一覧、右下に「メンバー」の一覧、
一番下に選択中の説明が出る、という構成になっているはずです。

この画面を見たときに、「難しそう…」と感じるかもしれませんが、
実際に使うのは「ライブラリ選択」「検索」「クラスとメンバーを見る」の三つだけです。
そこだけ押さえれば十分戦えます。

ライブラリ・クラス・メンバーの関係をイメージでつかむ

上のドロップダウンが「ライブラリ」です。
「Excel」「VBA」「Office」など、機能ごとの“本棚”だと思ってください。

左下の一覧が「クラス」です。
Workbook、Worksheet、Range など、「オブジェクトの種類」が並んでいます。

右下の一覧が「メンバー」です。
選んだクラスに属するプロパティやメソッド、イベント、定数が並びます。

つまり、

ライブラリ(本棚)
その中のクラス(本)
その本の中のメンバー(章・項目)

という三段構造で見るイメージです。

具体例1:Range オブジェクトのメンバーを眺めてみる

Range を検索してみる

オブジェクトブラウザを開いたら、まず上のライブラリを「Excel」にします。
次に、上部の検索ボックスに「Range」と入力して Enter を押します。

下の「クラス」一覧の中で、Range に関連するものがハイライトされます。
その中から「Range」というクラスを探してクリックします。

すると、右側の「メンバー」一覧に、Range が持っているプロパティやメソッドがずらっと表示されます。
Address、Value、Offset、Clear、Copy…など、見覚えのある名前も多いはずです。

ここで大事なのは、
「Range に対して、どんな操作ができるのか」「どんな情報が取れるのか」が一覧で見える、という感覚です。

メンバーを選んで詳細を見る

例えば、メンバー一覧から「Offset」をクリックしてみます。
画面の一番下に、Offset の定義が表示されます。

そこには、だいたい次のような情報が載っています。

戻り値の型(たとえば Range)
引数の名前と型(RowOffset As Long, ColumnOffset As Long など)

「Offset は Range を返すんだな」
「引数は行方向と列方向のずれを Long 型で渡すんだな」

といったことが、コードを書かなくても分かります。

この「戻り値の型」と「引数の型」が分かるだけでも、
「どう書けばいいか」「何を渡せばいいか」がかなりクリアになります。

具体例2:プロパティの型を確認してコードに活かす

Value と Address の違いをオブジェクトブラウザで確認する

Range(“A1”).Value と Range(“A1”).Address の違いを、
なんとなく「値」と「セル番地」くらいで理解していても、
「型」として意識すると、コードが安定してきます。

オブジェクトブラウザで Range クラスを選び、
メンバーから「Value」を選ぶと、下に戻り値の型が表示されます。
多くの場合 Variant になっているはずです。

次に「Address」を選ぶと、戻り値の型は String になっているはずです。

ここから、

Value は「中身の値」で、型はいろいろ(Variant)
Address は「セル番地の文字列」で、型は String

ということが、言葉ではなく“型情報”として理解できます。

型情報を意識したコードの例

たとえば、次のようなコードを書くときに、

Dim addr As String
addr = Range("A1").Address
VB

「Address は String を返す」と知っていれば、
Dim addr As String が自然に書けます。

逆に、

Dim v As Variant
v = Range("A1").Value
VB

のように、Value の戻り値が Variant だと分かっていれば、
「とりあえず Variant で受けておこう」という判断もできます。

オブジェクトブラウザは、こういう「戻り値の型」「引数の型」を確認するための、
とても強力な“公式の情報源”です。

オブジェクトブラウザを「調べ物ツール」として使うコツ

分からない名前を見つけたら、まず F2 で検索してみる

ネットで検索する前に、
「このプロパティ(メソッド)、まずはオブジェクトブラウザで引いてみよう」
という癖をつけると、VBAの理解が一段深くなります。

たとえば、誰かのコードに

Range("A1").CurrentRegion
VB

と書いてあったとします。
CurrentRegion が何を返すのか分からないとき、
オブジェクトブラウザで「CurrentRegion」を検索します。

Range クラスのメンバーとして CurrentRegion を選ぶと、
戻り値の型が Range であることが分かります。

「なるほど、CurrentRegion は“範囲”を返すんだな」
「だから、さらに .Rows.Count とか .Columns.Count とか続けて書けるんだな」

といった理解につながります。

「クラスからメンバーを眺める」だけでも勉強になる

時間があるときに、
Excel ライブラリ → Range クラス
Excel ライブラリ → Worksheet クラス
Excel ライブラリ → Workbook クラス

あたりを選んで、メンバー一覧をぼーっと眺めてみるのもおすすめです。

全部を覚える必要はまったくありません。
「こんなプロパティがあるんだ」「こんなメソッドもあるんだ」と、
“存在を知っておく”だけでも、後で「あれ、どこかで見たぞ」と引き出せるようになります。

オブジェクトブラウザは、
「VBAの世界にどんな道具があるのか」を見渡すための地図でもあります。

まとめと、次の一歩

オブジェクトブラウザは、VBAで使えるオブジェクトやそのメンバーを調べるための「辞書兼地図」です。
F2 で開き、ライブラリを選び、クラスを選び、メンバーを選ぶ――この流れだけ押さえれば、十分実戦投入できます。

特に重要なのは、
「戻り値の型」と「引数の型」を確認する、という使い方です。
これが分かると、Dim でどんな型を宣言すべきか、どういう書き方が正しいかが、ぐっと見えやすくなります。

次の一歩としては、実際に F2 を押して、

Range クラスを開いてメンバーを眺めてみる
気になるプロパティやメソッドを一つ選んで、戻り値と引数の型を確認してみる
その情報をもとに、小さなテストコードを書いて動かしてみる

この三つをやってみると、「オブジェクトブラウザって、ただの難しそうな画面じゃなくて、“自分のための辞書”なんだ」と実感できるはずです。

タイトルとURLをコピーしました