Switch関数:複数の条件式と値のペアの中でTrueになった条件式の値を取得する

Switch 関数は Excel VBA で用意されている関数の一つで、複数の条件式と値のペアを記述し、その中で True になった最初の条件式の値を取得します。ここでは Excel VBA における Switch 関数の使い方について解説します。

(Last modified: )

Switch関数の定義と使い方

Switch 関数は引数に指定した複数の条件式と値のペアの中で、条件式が「True」になった値を取得します。

Switch(expr-1,value-1)

引数は条件式と値の 2 つをセットで指定します。複数のセットを記述し、その中で条件式が最初に「True」になった条件式のペアの値を戻り値として取得します。いずれの条件式も「True」にならなかった場合は Null が返されます。

次の例を見てください。

Dim num As Integer

num = 74
Debug.Print Switch(num > 90,"合格",num > 70,"追試",num <= 70, "不合格")  '追試

num = 60
Debug.Print Switch(num > 90,"合格",num > 70,"追試",num <= 70, "不合格")  '不合格

Switch 関数の引数に条件式と値のペアを 3 つ指定しています(引数は 6 つ)。条件式が「True」となった条件式のペアの値を取得してイミディエイトウィンドウに表示します。

サンプルコード

それでは簡単なサンプルを作成して試してみます。

Option Explicit

Sub WeekdayName関数()
    Dim i As Integer
    Dim point As Integer
    
    For i = 3 To 6
        point = Cells(i, 2).Value
        Cells(i, 3).Value = Switch(point > 90, "合格", point > 70, "追試", point <= 70, "不合格")
    Next i
End Sub

Switch関数の定義と使い方(1)

このプログラムを実行すると Switch 関数を使って B3 セルから B6 セルに入力された数値に対して引数に指定した条件式を順に評価し、最初に「True」になった条件式のペアの値を C3 セルから C6 セルに代入します。

Switch関数の定義と使い方(2)

-- --

Excel VBA における Switch 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。