真となる最初の式を返す(Switch関数)
 Switch関数は、式のリストを評価し、リストの中でTrueとなる最初の式に関連
付けられたバリアント型 (Variant)の値または式を返します。式とそれに対応する
値はペアで指定します。少なくとも、1つ以上のペアを指定する必要があります。


  構文 Switch(Expr-1, Value-1, Expr-2, Value-2 ... , Expr-n,Value-n)

 設定項目        内容
  Expr      評価対象の式を指定する [省略不可]
  Value      評価対象の式がTrueの場合に返す値か式 [省略不可]


 次のサンプル1は、実行時の時間に応じて表示するメッセージを変更します。


●サンプル1●
Sub SwitchSamp1()

    Dim myH As Integer

    myH = Hour(Now)
    MsgBox Switch(myH <= 4, "早く寝ましょう", myH <= 6, "早起きですね", _
           myH <= 9, "おはようございます", myH <= 11, "こんにちは", _
           myH <= 13, "お昼は食べましたか", myH <= 15, "おやつにしましょう", _
           myH <= 17, "そろそろ仕事も終わりですか", myH <= 19, "お疲れ様でした", _
           myH <= 21, "今日も楽しかったですか", myH <= 23, "おやすみなさい")
          '---今の時間に応じて、表示するメッセージを変更します

End Sub


 式はリストの左から評価され、最初にTrueを返した式に対応する値が採用される
ため、例えば朝6時に実行した場合には次のような結果となります。


●注意●
 Switch関数は、Select Caseステートメントの機能に非常に似ていますが、決定的に
違う点があります。それはIIf関数と同じく、条件に当てはまらない部分の式も評価の
対象とする点です。従って、エラー発生を防ぐためのフロー分岐処理には向いていま
せん。

Excel2000



戻る


Excel Word Access VBA! モーグ