
エクセルVBA2003について質問です。
Sub aaa1()
Dim a As Variant
Debug.Print TypeName(a)
End Sub
を実行してイミディエイトウインドウで確認すると
Emptyが返ってきます。
Variantが返ってこない理由は何でしょうか?
また、変数の方の宣言をしない場合は
Variant型になるはずなのに
Sub aaa2()
Dim a
Debug.Print TypeName(a)
End Sub
を実行すると、同じくEmptyが返ってきます。
Variantが返らない理由を教えてください。よろしくお願いします。
No.1ベストアンサー
- 回答日時:
Empty 値は、初期化されていない (初期値が代入されていない) バリアント型の変数を示します
バリアント型は、代入された値に合わせて型が設定されます。
代入される値の型があらかじめ解らないような場合に使用され、値が入った時点で型が設定される
ようになっている。
逆を言えば、バリアント型の値が無いとも言えます。
従って、TypeName の戻り値がバリアント型になる事は無いはずです。
Dim a As Variant
a = 123
Debug.Print TypeName(a)
a = "abc"
Debug.Print TypeName(a)
Set a = Nothing
Debug.Print TypeName(a)
a = 1.11111111111111E+27
a = CVar(a)
Debug.Print TypeName(a)
昔は、バリアント型の変数は、メモリの消費が多く処理速度が遅いので使うなと言われていたのですが。
>Empty 値は、初期化されていない (初期値が代入されていない) バリアント型の変数を示します
よく覚えます。ありがとうございました。
No.3
- 回答日時:
まだ(2012/02/13 12:00)質問受付中になっておりますが、先の回答では疑問が解決
されていないのでしょうか?
でしたら、どの部分かを再質問願います。
(回答した以上 未解決で保留されておられますと回答がまずかったかなと気になります。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VBA たまに変数がempty値になるエラー
Excel(エクセル)
-
VBAでEmpty値って何ですか?
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
-
4
配列の参照渡しで型が一致しません。
Visual Basic(VBA)
-
5
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
6
もしセルが#N/A"なら~をする・・・には?"
Excel(エクセル)
-
7
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
8
エクセル(VBA)の空白配列の削除について
Excel(エクセル)
-
9
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
10
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでダブルコーテーション入り...
-
java final
-
VB6.0 DataGridでのfirstRowの...
-
ラズベリーパイ B でgpioを使っ...
-
stdpicture型の変数に、、
-
C言語 列挙型(enum型)変数について
-
コンボボックス等における表示...
-
VB6.0-整数と余りを求める
-
Cプログラムについて
-
vbsでテキストファイル内の文字...
-
足して100になるような乱数のア...
-
列数の多いエクセルのデータを...
-
フォームを開くときに、コンボ...
-
タンパク質 配列解釈ツール CL...
-
C言語 exitの使い方
-
excelの、ある数式内の{}の意...
-
DataGridView 複数行同時変更...
-
C#で動的にコントロールを取得...
-
余剰演算子について教えてください
-
VisualStudio2022でC言語プログ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでダブルコーテーション入り...
-
エラーの意味は? Lvalue req...
-
EXCEL/VBA 変数の値をクリップ...
-
jsp~jspにhiddenを使って変数...
-
テキストボックスの値を変数に...
-
[VBS]変数を定数に変換する方法...
-
C言語 列挙型(enum型)変数について
-
processing エラーで、 "cannot...
-
Serialize(CArchive& ar)にて
-
整数xxxが大き過ぎますというエ...
-
最小二乗法
-
Variant型で宣言してるのにEmpt...
-
ラズベリーパイ B でgpioを使っ...
-
VBA 1行で複数の代入を行った...
-
C言語 アロー演算子について質...
-
processing "フラグcheckをfals...
-
Accessコンボボックスにレコー...
-
サブwindowをオープンして外部...
-
VBA 一つの変数への追加、selec...
-
【Excelマクロ】グラフの最小値...
おすすめ情報