Home » VBE(Visual Basic Editor) » 変数の型を調べるには?-ローカルウィンドウ・TypeName関数

変数の型を調べるには?-ローカルウィンドウ・TypeName関数

対象:Visual Basic Editor

変数の型を調べるには?

「vba 変数 型 調べる」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

いくつかの可能性が考えられる検索キーワードですけれど、VBA(Visual Basic for Applications)のデバッグ中に、何らかの変数の型がどうなっているのか調べる方法を探していた方による検索かな、と想像しています。

[スポンサードリンク]

TypeName関数を使わなくてもいいのでは?

上記のキーワードで検索してみると、VBAのTypeName関数を使う方法が、ネット上ではよく紹介されているようです。

確かにTypeName関数を使えば、変数の型を調べられますが、TypeName関数を使ったコードを入力しなくても済む方も、いらっしゃるような気がしています。

VBE(Visual Basic Editor)のローカルウィンドウで確認すれば済んでしまう方も、少なからずいらっしゃるように思うのです。

ローカルウィンドウで変数の型を確認する

簡単なExcelマクロでの例をご紹介します。

Sub 変数の型を調べる()

 Dim a, b, c, d

 a = 1
 b = 1.1
 c = "1.1"
 Set d = Cells(1, 1)

 Stop

End Sub

型を指定せずに変数を宣言して、
 Dim a, b, c, d

それぞれの変数に数値・文字列を代入して、
 a = 1
 b = 1.1
 c = "1.1"

Cellsプロパティで1行目1列のセルを表すRangeオブジェクトを取得して、セットしているだけのマクロです。
 Set d = Cells(1, 1)

上記のマクロを実行するとStop文の箇所でステップ実行モードになります。

この時点でVBE(Visual Basic Editor)のメニュー[表示]-[ローカルウィンドウ]からローカルウィンドウを表示します。

すると下図のような状態になっているはずです。

変数の型を調べるには?

[型]欄に、型がしっかりと表示されています。

このようにステップ実行中にローカルウィンドウを見るだけで、済んでしまう方が、
「vba 変数 型 調べる」
といった検索をなさった方の中に、結構いらっしゃるのではないのかなぁと考えています。

TypeName関数で変数の型を確認する

ちなみにTypeName関数を使う場合、以下のようなマクロです。

Sub 変数の型を調べる_TypeName()

 Dim a, b, c, d

 a = 1
 b = 1.1
 c = "1"
 Set d = Cells(1, 1)

 Debug.Print TypeName(a)
 Debug.Print TypeName(b)
 Debug.Print TypeName(c)
 Debug.Print TypeName(d)

End Sub

上記のマクロを実行した場合は、イミディエイトウィンドウに下図のような出力が行われます。

変数の型を調べるには?

マクロを実行した後で、じっくり確認をしたいのなら、TypeName関数を使ってDebug.Printするしかありませんが、ステップ実行中に確認するだけでいいのなら、コードを書く必要のないローカルウィンドウで十分なはずです。

[スポンサードリンク]

Home » VBE(Visual Basic Editor) » 変数の型を調べるには?-ローカルウィンドウ・TypeName関数

「VBE(Visual Basic Editor)」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.