ARRAYは配列に一度にデータを格納することができる関数です。
作成された配列のインデックスは0から始まります。
構文
ARRAY(arglist)
B列のセルに番号を、C列に配列に入れるデータを入力しています。
データは文字列と数値にしています。
コマンドボタンを配置し、クリックイベント内にVBAを入力します。
[番号?]ボタンをクリックするとARRAY関数を使用し、C列のデータを配列に格納します。
次に、何番のインデックスを配列から取り出すかをInput関数で入力してもらいます。
指定した番号の配列データがMsgBox関数で表示されます。
ARRAY関数を使用したVBAの入力画面です。
Option Explicit
Private Sub CommandButton1_Click()
Dim i As Long
Dim ar As Variant
Dim ret As Variant
ar = Array(Range("C4"), Range("C5"), Range("C6"), Range("C7"), Range("C8"), Range("C9"), _
Range("C10"), Range("C11"), Range("C12"), Range("C13"))
ret = InputBox("何番?")
If ret = "" Then
Exit Sub
End If
If IsNumeric(ret) = False Then
MsgBox "数値を入力してください"
Exit Sub
End If
If ret < 1 Or ret > 10 Then
MsgBox "1〜10までの数値を入力してください"
Exit Sub
End If
MsgBox "選択されたデータは " & ar(ret - 1) & " です。"
End Sub
変数は宣言し使用します
Option Explicit
コマンドボタンクリックイベント
Private Sub CommandButton1_Click()
変数 i を宣言
Dim i As Long
変数 ar を宣言
Dim ar As Variant
変数 ret を宣言
Dim ret As Variant
ARRAY関数で変数arにデータを格納する
ar = Array(Range("C4"), Range("C5"), Range("C6"), Range("C7"), Range("C8"), Range("C9"), _
Range("C10"), Range("C11"), Range("C12"), Range("C13"))
INPUT関数で番号を入力する
ret = InputBox("何番?")
キャンセルが押された場合は終了する
If ret = "" Then
Exit Sub
End If
数値でなければメッセージを表示し終了する
If IsNumeric(ret) = False Then
MsgBox "数値を入力してください"
Exit Sub
End If
インデックスが1以下か10以上ならばメッセージを表示し終了する
If ret < 1 Or ret > 10 Then
MsgBox "1〜10までの数値を入力してください"
Exit Sub
End If
ARRAY関数で格納されたインデックスのデータを取り出し表示する
MsgBox "選択されたデータは " & ar(ret - 1) & " です。"
End Sub
次に「Right関数 VBAでの使用例」を掲載していますので参照してください。