教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA 関数】IsArray関数の使い方を教えて!

構文

構文は以下の通りです。

IsArray(変数)

解説

IsArray関数は、配列の要素が存在するかどうかを判定するために使用することができます。変数が配列の場合はTrueを返し、配列でない場合はFalseを返します。

引数 指定 内容
変数 必須 数式または文字列式を含むバリアント型 (Variant) の式を指定します。

使用例

Array(1, 2, 3)
Array(123)

使い方

具体的な使い方を紹介します。

Sub CheckArray()
    Dim myArray(1 To 5) As Integer
    Dim result As Boolean
    result = IsArray(myArray)
    If result = True Then
        MsgBox "配列です"
    Else
        MsgBox "配列ではありません"
    End If
End Sub

上記の例では、myArrayという配列変数をIsArray関数に渡しています。IsArray関数は、myArrayが配列である場合にTrueを返すため、結果として「配列です」というメッセージボックスが表示されます。

プログラミング例

以下に、プログラミング例を紹介します。

例1: 配列でない場合の処理

Sub ProcessArray()
    Dim value As Integer
    Dim result As Boolean
    value = 10
    result = IsArray(value)
    If result = True Then
        MsgBox "配列です"
    Else
        MsgBox "配列ではありません"
    End If
End Sub

上記の例では、valueという単一の変数をIsArray関数に渡しています。IsArray関数は、valueが配列ではない場合にFalseを返すため、結果として「配列ではありません」というメッセージボックスが表示されます。

例2: 配列の要素の存在判定

Sub CheckArrayElement()
    Dim myArray(1 To 3) As String
    Dim i As Integer
    myArray(1) = "Apple"
    myArray(2) = "Orange"
    For i = 1 To 3
        If IsArray(myArray) = True Then
            If Not IsEmpty(myArray(i)) Then
                MsgBox "要素が存在します"
            Else
                MsgBox "要素が存在しません"
            End If
        Else
            MsgBox "配列ではありません"
        End If
    Next i
End Sub

上記の例では、myArrayという文字列型の配列変数を使用し、要素の存在を判定しています。また、IsArray関数とIsEmpty関数を組み合わせて使用しており、IsArray関数で配列であることを確認し、IsEmpty関数で要素が空かどうかを判定しています。

まとめ

IsArray関数は、配列の存在を判定するための便利な関数です。この関数を使用することで、プログラムの実行中に配列の有無を確認し、適切な処理を行うことができます。是非活用してください。