エクセルマクロVBA 条件分岐 Choose関数 Switch関数
Choose関数やSwitch関数は、条件によって異なる戻り値を返す関数です。
戻り値によって異なる処理を行うときに使用します。
「エクセルマクロVBA 条件分岐 Choose関数 Switch関数」
1.入力されている値によって表示するメッセージを変えたい
(1)使い方
数値を入力し、Choose関数で数値ごとに異なるメッセージを表示します。
次にSwitch関数を使用して、その表示されたメッセージによって、次のメッセージを選択して表示します。
(2)コード
Sub sample()
Dim 回答 As Variant
Dim メッセージ As Variant
回答 = InputBox(”1~5までの数値を入力してください”)
If 回答 =”” Then
MsgBox ”1~5までの数値を入力してください”
Exit Sub
メッセージ = Choose(回答,”1を選択”,”2を選択”,”3を選択”,”4を選択”,”5を選択”)
If IsNull(メッセージ)Then
MsgBox ”1~5までの数値を入力してください”
Exit Sub
End If
MsgBox メッセージ
MsgBox Switch(メッセージ=”1を選択”,”1が選択されました”,
メッセージ=”2を選択”,”2が選択されました”,
メッセージ=”3を選択”,”3が選択されました”,
メッセージ=”4を選択”,”4が選択されました”,
メッセージ=”5を選択”,”5が選択されました”)
End If
(3)解説
インプットボックスに入力された「回答」を評価し、1のときに第2引数の値を、2のときに第3引数を返します。
1~5以外のデータが入力された場合は、メッセージを表示してプロシージャを終了します。
Choose関数は第1引数で指定された値を、第2引数以降の引数から選択して返します。
例えば、第1引数に1が指定されている場合は第2引数に指定された値を、3が指定されている場合は第4引数に指定された引数を返します。
該当する引数がない場合はNullを返します。
指定された変数やプロパティなどの値がNullかどうかは、IsNull関数を使用して確認することができます。
IsNull関数は、対象となるプロパティなどの値がNullのとき、Trueを返します。
①Choose関数
第1引数に指定された数値をもとに、それに対応する引数の値を返します。
Choose(index,choice-1[,choose-2,・・・[,choose-n]])
②IsNull関数
対象となる値がNullかどうかを確認します。
NullのときTrueを、Null以外のときFalseを返します。
IsNull(arg)
③Switch関数
式を評価して、対応する値を返します。
Switch(expr-1,value-1[,expr-2,value-2・・・[,expr-n,value-n]])
「エクセルマクロVBA 条件分岐 Choose関数 Switch関数」について説明しました。
Selset Caseステートメントについてはこちらから↓
If Then Elseステートメントについてはこちらから↓