Switch関数
Switch関数は、VBA関数の中で制御・入出力関数に分類される関数です。
目次
Switch関数とは
Switch関数は、式のリストを評価し、リストの中で真 (True) となる最初の式に関連付けられたバリアント型 (Variant) の値または式を返します。
構文 | Switch(expr-1, value-1[, expr-2, value-2 ... [, expr-n,value-n]]) | |
---|---|---|
引数 | 省略 | 説明 |
expr | × | 評価対象となるバリアント型 (Variant) の式を指定します。 |
value | × | 対応する式が真 (True) のときに返す値または式を指定します。 |
Switch 関数の引数リストでは、式と値を対にして指定します。式は左から右の順序で評価され、最初に真 (True) に評価された値が返されます。式と値が正しく対になっていなければ、実行時エラーが発生します。たとえば、引数 expr-1 が真 (True) の場合、引数 value-1 が返されます。引数 expr-1 が偽 (False) で、引数 expr-2 が真 (True) の場合には、引数 value-2 が返されます。
以下の場合は、Null 値が返されます。
・ いずれの式も真 (True) と評価されない場合。
・ 真 (True) と評価された最初の式に Null 値が関連付けられている場合。
Switch 関数では、リスト内の式のいずれか 1 つだけが返されますが、評価はリスト内のすべての式に対して行われます。このため、Switch 関数を使うと、予期しない結果が起きることがあります。たとえば、評価すると 0 による除算エラーが発生する式が 1 つでも含まれていれば、エラーになります。
Switch関数のサンプルコード
次の例は、Switch 関数を使って、指定された都市で使用されている言語を返します。
Function MatchUp (CityName As String)
Matchup = Switch(CityName = "ロンドン", "英語", CityName _
= "ローマ", "イタリア語", CityName = "パリ", "フランス語")
End Function
実行結果
解説
制御・入出力関数一覧
関数名 | 内容 |
---|---|
Choose | 数値で指定した式の値を返します。 |
IIf | 式の結果により2つの引数のうち1つを返します。 |
Input | ファイルから指定した文字数の文字列を読みこんで返します。 |
InputB | ファイルから指定したバイト数のデータを読み込んで返します。 |
InputBox | ダイアログボックスにメッセージを表示しテキストボックスに入力した値を返します。 |
MsgBox | ダイアログボックスにメッセージを表示します。 |
Partition | 指定した数値の範囲が属する文字列を返します。 |
Spc | 指定した数のスペースを挿入します。 |
Switch | 条件式を評価し、真(True)の場合に式を返します。 |
TypeName | 変数に関する情報を返します。 |