#753 変数が配列かどうかを調べるには? VBA

Variant型の変数は、同じひとつのものであっても、代入値に応じて状態が変化します。たとえば次ようなケースがあります。
  1. 初期状態のとき
  2. 1つの値を代入したとき
  3. ReDimで配列化したとき
  4. Array関数で複数値を代入したとき

このとき3や4ではVariant型変数は”配列”になります。配列かどうかを調べるのが「IsArray」関数です。
上記の4つのケースについて、実際のコードで試してみると次のようになります。

Dim avarArry As Variant

Debug.Print IsArray(avarArry)       'False

avarArry = 1
Debug.Print IsArray(avarArry)       'False

ReDim avarArry(10)
avarArry(0) = 1
Debug.Print IsArray(avarArry)       'True

avarArry = Array(1, 2, 3, 4, 5)
Debug.Print IsArray(avarArry)       'True

コード内のコメントに書かれているように、1つめと2つめは「False」が返されます。3つめと4つめは配列化されていますので、返り値は「True」です。

実行例:
| Index | Prev | Next |

この情報は参考になりましたか?、問題は解決しましたか?、もしまだなら......
T'sWareのワンポイトテクニカルアドバイスをご利用ください。3000円/件〜でご支援します。
スタンドアロンからSQL Server対応まで、オーダーメイドのシステムを短納期・安価でお届けします


Copyright © T'sWare All rights reserved