構文
記述方法は以下の通りとなります。
IsArray([変数])
[説明]:
指定した変数が配列か否かを判定します。配列の場合には「True」を、配列で無い場合には「False」を戻り値として返します。
[変数] | 任意の変数を記述します。 |
[記述例]:
IsArray(範囲)
使い方
使い方について具体的に説明します。
指定した変数が配列の場合
指定した変数が配列の場合について説明します。
[プログラミング例①]:
Sub サンプル()
Dim 範囲 As Variant
範囲 = Range("A1:B1")
MsgBox IsArray(範囲)
End Sub
「最初に変数:範囲を定義します。次に変数:範囲にA1セル~B1セルの配列:Range("A1:B1")をセットします。最後にセットした変数:範囲について配列か否かを判断し、結果(True/False)をMsgBoxで表示して下さい。」との意味になります。
※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。
[実行例①]:
①<実行>ボタンをクリックします。
②結果は以下の様に表示されます。指定した変数:範囲が配列のため、MsgBoxで「True」が表示されます。
[サンプル①]:
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。
[プログラミング例②]:
Sub サンプル()
If (IsArray(Range("A1:B1")) = True) Then
MsgBox "配列です。"
Else
MsgBox "配列ではありません。"
End If
End Sub
「Range("A1:B1")が配列か否かを判断し、配列の場合には”配列です。”をMsgBoxで表示し、配列で無い場合には”配列ではありません。”を表示して下さい。」との意味になります。
※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。
[実行例②]:
①<実行>ボタンをクリックします。
②結果は以下の様に表示されます。指定した範囲が配列のため、MsgBoxで「配列です。」が表示されます。
[サンプル②]:
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。
指定した変数が配列の場合についての説明は以上です。
指定した変数が配列で無い場合
指定した変数が配列で無い場合について説明します。
[プログラミング例①]:
Sub サンプル()
Dim 範囲 As Variant
範囲 = Range("A1")
MsgBox IsArray(範囲)
End Sub
「最初に変数:範囲を定義します。次に変数:範囲に配列で無いA1セルであるRange("A1")をセットします。最後にセットした変数:範囲について配列か否かを判断し、結果(True/False)をMsgBoxで表示して下さい。」との意味になります。
※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。
[実行例①]:
①<実行>ボタンをクリックします。
②結果は以下の様に表示されます。指定した変数:範囲が配列で無いため、MsgBoxで「False」が表示されます。
[サンプル①]:
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。
[プログラミング例②]:
Sub サンプル()
If (IsArray(Range("A1")) = True) Then
MsgBox "配列です。"
Else
MsgBox "配列ではありません。"
End If
End Sub
「Range("A1")が配列か否かを判断し、配列の場合には”配列です。”をMsgBoxで表示し、配列で無い場合には”配列ではありません。”を表示して下さい。」との意味になります。
※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。
[実行例②]:
①<実行>ボタンをクリックします。
②結果は以下の様に表示されます。指定した範囲が配列で無いため、MsgBoxで「配列ではありません。」が表示されます。
[サンプル②]:
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。
指定した変数が配列で無い場合についての説明は以上です。
プログラミング(サンプル)
プログラミング事例を紹介します。
おわりに
今回はIsArray関数を使用した配列かどうかを調べる方法について説明しました。類似の内容としてIsNumeric関数を使用した数値として扱えるかどうかを調べる方法やIsDate関数を使用した日付や時刻として扱えるかどうかを調べる方法があります。こちらも参考にして下さい。