CELF、RPA、エクセルによる業務改善記録

CELF、RPA、エクセルをより多くの方に便利に使っていただきたい!!

エクセルマクロ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ステートメントについてはこちらから↓

miulovininy.hatenablog.com

 

If Then Elseステートメントについてはこちらから↓

miulovininy.hatenablog.com