IsArray関数を使用したプログラミング例を紹介します。
例題
範囲欄(A2セル)はプルダウンにて都道府県の各データが選択ができる様に設定されています。この範囲欄から任意の都道府県を選択し、<実行>ボタンをクリックします。選択した範囲が都・道・府・県いずれかの場合には、結果欄(B列)から選択した対象の都・道・府・県セルを選択し、「選択した範囲は配列ではありません。」を表示します。また、選択した範囲が”関東”の場合には、結果欄(B列)から関東(東京都~茨城県)のセル範囲選択し、「選択した範囲は配列です。」を表示します。
[実行前]:
範囲欄(A2セル)はプルダウンにて都道府県名が選択できます。任意の都道府県名を選択して<実行>ボタンをクリックします。
[実行後]:
①「茨城県」を選択した場合、結果列(B列)より茨城県が選択され、「選択した範囲は配列ではありません。」が表示されます。
②「関東」を選択した場合、結果列(B列)より東京都~茨城県の範囲が選択され、「選択した範囲は配列です。」が表示されます。
プログラミング
プログラミングは以下の通りとなります。
[記述例]:
Sub サンプル()
'↓処理①
Dim 範囲 As Variant
'↓処理②
Select Case Range("A2")
Case "関東"
範囲 = Range("B3:B9")
Range("B3:B9").Select
Case "北海道"
範囲 = Range("B2")
Range("B2").Select
Case "東京都"
範囲 = Range("B3")
Range("B3").Select
Case "神奈川県"
範囲 = Range("B4")
Range("B4").Select
Case "埼玉県"
範囲 = Range("B5")
Range("B5").Select
Case "千葉県"
範囲 = Range("B6")
Range("B6").Select
Case "栃木県"
範囲 = Range("B7")
Range("B7").Select
Case "群馬県"
範囲 = Range("B8")
Range("B8").Select
Case "茨城県"
範囲 = Range("B9")
Range("B9").Select
Case "大阪府"
範囲 = Range("B10")
Range("B10").Select
End Select
'↓処理③
If (IsArray(範囲) = True) Then
MsgBox "選択した範囲は配列です。"
Else
MsgBox "選択した範囲は配列ではありません。"
End If
End Sub
処理①:変数定義
変数を定義します。
処理②:選択した範囲の判定
範囲欄(A2セル)で選択した都道府県名を元に、Select文を使用して結果欄(B列)から同じ都道府県名のセル範囲を選択します。また、選択したセル範囲は、処理①で定義した変数:範囲にセットします。
処理③:選択したセル範囲の配列判定
IsArray関数を使用して処理②でセットした変数:範囲が「配列か?」又は「配列以外か?」を判定します。配列の場合は「選択した範囲は配列です。」を、配列以外の場合は「選択した範囲は配列ではありません。」を表示して下さい。
との内容になります。
ダウンロード
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。