Home » Excel VBA Rangeオブジェクト » Endプロパティ » xlDownのデータ型はVBAのLong

「vba xldown 型」
という検索で、このサイト『インストラクターのネタ帳』へアクセスがありました。

拙著『いちばんやさしいExcel VBAの教本』でもご紹介している「Range("A1").End(xlDown)」といったコードで使われる、

XlDirection列挙に定義されている定数xlDownについて調べていた方による検索です。

具体的に何を調べていたのか、さまざまな可能性の考えられるキーワードですが、VBAではない他の言語でプログラミング経験のある方が、Excel VBAの定数xlDownのデータ型を調べていたように、私には感じられます。

定数xlDownのデータ型はVBAのLong

結論からお伝えすると、Excel VBAの定数xlDownのデータ型は、VBAのLongです。

VBAのLongは4バイト

ちなみに、他言語の経験がある方の場合、Longという名前から8バイトの
  -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
と考えてしまうことが少なくないと思いますが、VBAのLongは違います。

VBAのLongは、多くの他言語のint・integer的な型と同じ4バイトの
  -2,147,483,648 〜 2,147,483,647
です。

VBAは、後方互換性を気にせざるを得ないMicrosoftが、1990年代に作った言語ですから、こんな部分でdisらないであげてください。

TypeName関数でxlDownのデータ型を調べる

ショートカットキー[Ctrl]+[G]などで表示できるイミディエイトウィンドウで、VBAのTypeName関数を使って、xlDownのデータ型を確認してみてください。

イミディエイトウィンドウで、
 ? typename(xldown)
を実行すれば、下図のようにLongであることを確認できます。

ローカルウィンドウでxlDownのデータ型を調べる

xlDownのデータ型を調べるだけなら、上記のイミディエイトウィンドウを使った操作が簡単ですけれど、拙著のLesson 30「変数に代入されたデータを確認しましょう」以降で多用しているローカルウィンドウを使った方法も、試してみることをおすすめします。
Sub xlDownのデータ型を調べる()
 Dim var As Variant
 var = xlDown
End Sub

メニュー[表示]-[ローカルウィンドウ]からローカルウィンドウを表示して、上記のSubプロシージャをショートカットキー[F8]でステップ実行してください。

ステップ実行を進めて、Variantで宣言した変数varにxlDownが代入されると、

上図のようにLongであることを[型]欄で確認できます。

最終更新日時:2019-10-18 14:17

[スポンサードリンク]

Home » Excel VBA Rangeオブジェクト » Endプロパティ » xlDownのデータ型はVBAのLong

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

.