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変数に関する情報を返します。
ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください^^

VBAのInternetExplorer操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE(InternetExplorer)操作にも挑戦してみてください^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

エクセルVBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

スポンサー リンク

エクセルVBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

スポンサー リンク

エクセルVBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。