ヘッダー

VB.NET2002対応 VB.NET2003対応 VB2005対応

 

Select Caseを使用した条件判断

ここではSelect Caseを使用した条件判断のサンプルを紹介します。

Ifを使用した条件判断のサンプルはIfを使用した条件判断を参照してください。

Ifを使用した条件判断についての説明は初級講座[改訂版]第10回 条件判断 Ifを参照してください。

 

1.単純な例

以下の例では変数Xの値が1のとき、2のとき、3のときそれ以外のときの4つの場合に分けてそれぞれ違ったメッセージを表示する。

VB.NET2002対応 VB.NET2003対応 VB2005対応

Select Case X
    Case 1
        MsgBox("おめでとう!")
    Case 2
        MsgBox("惜しい!")
    Case 3
        MsgBox("よくできました。")
    Case
Else
       
MsgBox("次は頑張りましょう。")
End Select

 

2.複数の値の判定

以下の例では変数Xが2, 3, 5, 7の場合と、4, 6, 8の場合と、それ以外の場合とで別々のメッセージを表示する。

VB.NET2002対応 VB.NET2003対応 VB2005対応

Select Case X
    Case 2, 3, 5, 7
        MsgBox("Xは素数です。")
    Case 4, 6, 8
        MsgBox("Xは偶数です。")
    Case
Else
       
MsgBox("Xは素数でも偶数でもないか以上の数です。")
End Select

 

3.範囲の判定

以下の例では変数Xが5以下の場合、10以上で20以下の場合、それ以外の場合とで別々のメッセージを表示する。

VB.NET2002対応 VB.NET2003対応 VB2005対応

Select Case X
    Case Is <= 5
        MsgBox("Xは5以下です。")
    Case 10 To 20
        MsgBox("Xは10以上20以下です。")
    Case
Else
       
MsgBox("Xは6, 7, 8, 9のどれかか20より大きい数です。")
End Select

 

4.「…ではない」を判断する例

以下の例では変数Xが5ではない場合とそれ以外の場合に別々のメッセージを表示する。

VB.NET2002対応 VB.NET2003対応 VB2005対応

Select Case X
    Case Is <> 5
        MsgBox("Xは5ではありません。")
    Case
Else
       
MsgBox("Xは5でなくありません。つまり5です。")
End
Select

■リスト5

メモ:この例は正常に動作しますが、説明のための例であって冗長です。本当にこれだけを判断すればよいのならIf文を使った方が簡便です。

 

5.Enabled = Trueのコントロールを判断する例

以下の例では3つのTextBoxのうちEnabledTrueTextBoxを1つ見つけてメッセージを表示する。そのようなコントロールが1つもない場合は見つからなかったことをメッセージを表示して知らせる。

VB.NET2002対応 VB.NET2003対応 VB2005対応

Select Case True
    Case
TextBox1.Enabled
        MsgBox("TextBox1です!")
    Case TextBox2.Enabled
        MsgBox("TextBox2です!")
    Case TextBox3.Enabled
        MsgBox("TextBox3です!")
    Case
Else
   
    MsgBox("3つのTextBoxはすべて使用不可です。")
End Select