-
∨目次
- 構文
- 解説
- 使用例
VBA IsArray 関数
はじめに
Excel VBA マクロの IsArray 関数を紹介します。
IsArray 関数は、指定した値が配列かどうかを判定します。
For 文などの繰り返し処理をする前のチェックなどに使用します。
-
目次
- 構文
- 解説
- 使用例
構文
IsArray(値)
値が配列のときは True を返します。それ以外のときは False を返します。
引数「配列」 | 判定したい値を指定します。 |
戻り値の型 | ブール型 (Boolean) |
解説
引数「値」が静的配列、動的配列、二次元配列などの配列が指定されたときは True を返します。それ以外の数値や文字列などは False を返します。
配列の要素数は関係ありません。要素数 0 の配列でも True を返します。
使用例
Dim 静的(3) As String
Dim 動的() As Integer
Dim b As Boolean
b = IsArray(静的)
Debug.Print(b) ' True
b = IsArray(動的)
Debug.Print(b) ' True
b = IsArray("あいう")
Debug.Print(b) ' False
Dim 二次元(1, 1) As Integer
b = IsArray(二次元)
Debug.Print(b) ' True
関数の戻り値が配列またはそれ以外 (Nothing) など 2 種類あるときは、If 文で判定して配列のときだけループできます。
Dim 配列 As Variant
配列 = Array(1, 2, 3) ' 自作の配列を返す関数など
Dim v As Variant
' 配列のときだけ For Each でループする
If IsArray(配列) = True Then
For Each v In 配列
Debug.Print(v)
Next
End If
' 配列のときだけ For Next でループする
Dim i As Integer
Dim min As Integer
Dim max As Integer
If IsArray(配列) = True Then
min = LBound(配列)
max = UBound(配列)
For i = min To max
Debug.Print(配列(i))
Next
End If