式の値に応じて多分岐を行う(Switch 関数)
Switch 関数 の使い方
Switch 関数は、「式・値」を対にして指定して、左から順に評価し、最初に真(True)に評価された値を返します。
result = Switch ( expr1, value1 [, expr2, value2, … , exprn, valuen ] )
引数・戻り値
- expr1,expr2 … exprn ・・・ 評価対象の式を指定します。
- value1,value2 … valuen ・・・ 対応する式( expr1, expr2 … exprn )が真(True)の場合に返す式・値を指定します。
- result ・・・ 引数( expr1, expr2 … exprn )で最初に、真(True)と評価された式に対応する Value。
Switch 関数は、左から右の順で式を評価し、最初に真(True)と評価された式に対応した値(式)が返されますが、評価はすべての式に対して行われます。このため、評価すると 0 による除算エラーが発生する式が1つでも含まれている場合は、エラーとなります。
真(True)と評価された最初の式に、Null 値が関連付けられている場合、Null 値を返します。
また、すべての式が真(True)と評価されない場合も Null 値を返します。
Switch 関数 の使用例
サンプルVBAソース
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
Sub Sample_Switch() Dim str, ret str = InputBox("数字「1-3」のいずれかを入力してください") ret = Switch(str = 1, "1 を入力", str = 2, "2 を入力", str = 3, "3 を入力") If Not IsNull(ret) Then MsgBox ret Else MsgBox "「1-3」以外を入力しました" End If End Sub |
実行結果(「2」を入力)
実行結果(「abc」を入力)
関連記事
-
-
Split 関数(文字列型の一次配列を作成)
Split 関数の使い方 【書式】 myArray = Split ( expr …
-
-
配列(宣言・要素数の変更について)
配列の宣言 【書式】※ 配列の宣言 <Type 型の静的配列(固定長配列)の宣言 …
-
-
VBA の演算子(文字連結演算子:& 演算子 + 演算子)
文字連結演算子 文字連結演算子は、文字列の連結を行うときに使用する演算子で、「& …
-
-
色の設定(ColorIndex プロパティ・Colors プロパティ)
ColorIndex プロパティ ColorIndex プロパティは、指定したオ …
-
-
オートシェイプの種類を表す定数(MsoAutoShapeType 列挙型)
MsoAutoShapeType 列挙型 オートシェイプオブジェクトの図形の種類 …
-
-
Erase ステートメント(配列の初期化・動的配列のメモリ解放)
Erase ステートメントの使い方 【書式】 Erase myArray [, …
-
-
IME の現在の状態を取得します(IMEStatus 関数)
IMEStatus 関数の使い方 【書式】 result = IMEStatus …
-
-
乱数ジェネレータを初期化 (乱数系列を再設定) する(Randomize ステートメント)
Randomize ステートメントの使い方 Rnd 関数 を使用する前に使用しま …
-
-
VBA の演算子(演算子の優先順位)
演算子の優先順位 演算子の優先順位とは、1つの式の中に演算子が複数ある場合、どの …
-
-
カレントフォルダ(CurDir 関数、ChDir ステートメント、ChDrive ステートメント)
カレントフォルダ カレントフォルダとは、ブックを開いたり保存するときに既定で参照 …



