HOME > 即効テクニック > Excel VBA > 関数関連のテクニック > 数値に応じて選択肢の値を返す(Choose関数)

即効テクニック

関数関連のテクニック

数値に応じて選択肢の値を返す(Choose関数)

(Excel 2000)
Choose関数は、引数Indexの値に基づいて選択肢のリストから値を返します。
引数Indexが1の場合はリストに含まれる最初の選択肢を返し、引数indexが2の場合は、2番目の選択肢を返します。


  構文 Choose(Index, Choice-1, Choice-2, ... , Choice-n)

 設定項目        内容
  Index      何番目の選択肢を選択するかを指定 [省略不可]
  Choice     indexに対応する選択肢を指定 [省略不可]


●サンプル1●
Sub ChooseSamp1()

    Dim myVal As Integer

    myVal = Application.InputBox(Prompt:="1〜5の範囲で数値を入力してください", _
               Type:=1)
    '---myValで指定したインデックスに応じた値をメッセージボックスに表示します
    MsgBox Choose(myVal, "ひとつ", "ふたつ", "みっつ", "よっつ", "いつつ")

End Sub
このサンプルでは、ユーザーの入力した値をインデックスとして、5つの選択肢から表示するメッセージを選択しています。仮に、選択肢のインデックスに存在しない値が与えられた場合には、Choose関数はNull値を返します。従って、MsgBox関数はエラーとなります。


●注意●
IIf関数、Switch関数と同じように、Choose関数は指定されたインデックス値にかかわらずに、全ての選択肢を評価します。従って、特定のインデックスが指定された場合にはエラーが発生するような選択肢を用意することはできません。