サイトについて      連絡先   検索

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
  • 目次
    • 構文
    • 解説
    • 使用例