Excel VBAの「IsArray 関数」について解説します。
IsArray 関数とは
Excel VBA の IsArray 関数は、引数に指定した変数が配列かどうかを判定し結果を Boolean値で返します。
IsArray 関数の構文や引数の設定と実際の使い方について具体的に解説していきたいと思います。
IsArray 関数(Visual Basic for Applications リファレンス)
構文(引数と戻り値)
Excel VBAの関数を使いこなすには、関数の構文を正しく理解しておくことが重要です。
構文
IsArray(varname)
引数
引数 | 説明 |
---|---|
varname | 【必須】配列かどうか判定したい「変数名」を指定します |
戻り値
戻り値 | 説明 |
---|---|
ブール値 (Boolean) | varname が配列の場合は、真 (True) を返し、 それ以外の場合は、偽 (False) を返します |
解説(使用例)
以下、サンプルコードで IsArray 関数の使用例を確認しましょう。
IsArray関数サンプル1(各種配列の判定)
IsArray 関数は、さまざまな種類の配列を判定することができます。
'■IsArray関数サンプル1(各種配列の判定)
Sub IsArray_Sample01()
Dim b As Boolean 'IsArrayの結果保存用
'1. Variant変数の配列
Dim variantArray As Variant 'バリアント変数宣言
'宣言直後初期化前の変数
b = IsArray(variantArray) ' False
Debug.Print "1-1. 初期化前のVariant変数 = " & b
variantArray = Array(1, 2, 3) 'Array関数で配列代入
b = IsArray(variantArray) ' True
Debug.Print "1-2. 配列を代入したVariant = " & b
'2. 静的(固定)配列
Dim staticArray(7) As Integer '静的配列の変数宣言
b = IsArray(staticArray) ' True
Debug.Print "2. Integer型の静的配列 = " & b
'3. 動的(変動)配列
Dim dynamicArray() As Variant '動的配列の変数宣言
b = IsArray(dynamicArray) ' True
Debug.Print "3-1. 領域割当なしの動的配列 = " & b
ReDim dynamicArray(15)
b = IsArray(dynamicArray) ' True
Debug.Print "3-2. 領域割当後の動的配列 = " & b
'4. 多次元配列
Dim multiArray(3, 5) As Integer '2次元配列の変数宣言
b = IsArray(multiArray) ' True
Debug.Print "4. 多次元(2次元)配列 = " & b
End Sub
コードを実行した際のイミディエイトがこちらです。
最初の Dim variantArray As Variant
で変数を宣言した直後の初期化されていない状況では、配列になっていませんので IsArray(variantArray)
は False が返ります。
以降、静的配列、動的配列、多次元配列ともに変数の宣言自体で配列として宣言しているので、宣言直後の IsArray で True が返っています。
IsArray関数サンプル2(配列判定後に要素数取得)
IsArray 関数の使いどころの基本は、変数が配列かどうか判定してから処理を行うことです。
'■IsArray関数サンプル2(配列判定後に要素数取得)
Sub IsArray_Sample02()
Dim vArray As Variant 'バリアント変数宣言
vArray = Array(1, 2, 3, 4, 5)
If IsArray(vArray) Then
MsgBox "配列の要素数は " & _
UBound(vArray) - LBound(vArray) + 1 & " です。"
Else
MsgBox "vArrayは配列ではありません!"
End If
End Sub
実行時に表示されたMsgBox画像がこちらです。
配列の素数をループ処理する場合は、次のような方法になります。
Dim i As Integer
For i = LBound(vArray) To UBound(vArray)
Debug.Print vArray(i)
Next i
おわりに
VBAの関数一覧はこちらからご参照ください。
VBAサンプルファイルダウンロードページのご案内
このページで使用したサンプルファイルの登録はありません(^^;
ページ内のコードをコピーしてご利用ください。
ダウンロードページへのリンクは下のカードクリックでジャンプできます。
よろしければご利用ください!
Excel VBA IsArray 関数は、引数に指定した変数が配列かどうかを判定し結果を Boolean値(真の場合 True、偽の場合 False)を返します。
IsArray 関数の主な使いどころは、コードの実行中にエラーが発生するのを防ぐために、変数が配列であるかどうかを事前に確認することです。
以上、この解説が少しでもみなさまのお役に立てたなら幸いです(^^;