教えて!ExcelVBA!

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

【ExcelVBA プログラミング】(関数25)IsArray関数のプログラミング例を教えて!

       f:id:m_kbou:20201007072611p:plain

IsArray関数を使用したプログラミング例を紹介します。

 

【目次】

 

例題

例題は、範囲に任意の都県を選択した後に<実行>ボタンをクリックすると、結果内の選択範囲が反転され、単一セルが選択された場合には「選択した範囲は配列ではありません。」を、複数セルが選択された場合には「選択した範囲は配列です。」の結果を返すプログラミング方法です。

[実行前]:

f:id:m_kbou:20201007073327p:plain

[実行後]:

f:id:m_kbou:20201007073341p:plain

f:id:m_kbou:20201007073351p:plain

 

プログラミング

プログラミングは以下の通りとなります。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。また、ボタンにプログラム内容を割り当てるには、VBAをボタンに割り当てるを参考にして下さい。

-------------------------------------------------

Sub サンプル()

    Dim 範囲 As Variant
   
    Select Case Range("A2")
        Case "関東"
            範囲 = Range("B2:B8")
            Range("B2:B8").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
    End Select
   
    If (IsArray(範囲) = True) Then
        MsgBox "選択した範囲は配列です。"
    Else
        MsgBox "選択した範囲は配列ではありません。"
    End If
   
End Sub

-------------------------------------------------

内容を説明すると、

IsArray関数を使用して範囲(A2セル)に任意の都県を選択した後に<実行>ボタンをクリックすると、結果内(B2セル~B8セル)の選択範囲が反転され、単一セルが選択された場合には「選択した範囲は配列ではありません。」を、複数セルが選択された場合には「選択した範囲は配列です。」をMsgboxで表示して下さい。

との意味になります。

 

ダウンロード

上記サンプルプログラムを使用したい場合は、こちらからダウンロードして下さい。

1drv.ms