IIf


構文

IIf(expr,truepart,falsepart)

引数exprには、評価対象の式を指定します。

引数truepartには、評価した式がTrueのとき返す値または式を指定します。

引数Falsepartには、評価した式がFalseのとき返す値または式を指定します。

解説

IIf関数は式を評価して値を返します。

評価式を評価するとき、引数truepartと引数falsepart両方の引数も評価しますので、どちらかの引数でエラーが発生する場合、IIf関数はエラーになります。

サンプル

次の例は、入力された数値を評価して値を返します。最初のIIf関数では、入力された数値が100より大きい場合「big」を、100以下の場合「small」を表示します。次のIIf関数は、入力された数値が100未満だった場合入力された数値の1/2を、100以上だった場合2を入力された数値で除した結果を表示します。

2度目のInputBoxで0を入力すると、「num < 100」の評価式はTrueですが「2 / num」で"0で除算エラー"が発生するためIIf関数もエラーになります。

Sub Sample()
    Dim num As Integer, str As String
    num = InputBox("数値を入力してください")
    str = IIf(num > 100, "big", "small")
    MsgBox str
    num = InputBox("数値を入力してください")
    str = IIf(num < 100, num / 2, 2 / num)
    MsgBox str
End Sub