現在ログインしていません。
新規アカウント作成
ログイン

Ifのサンプル

VBでIfを使用した条件判断のサンプルを紹介します。

1.単純な例

以下の例では変数Xの値が5のときだけメッセージを表示する。

If X = 5 Then
     MsgBox("Xは5です。")
End If 
■リスト1:

以下の例ではButton1.EnabledがTrueのときだけメッセージを表示する。

If Button1.Enabled Then
    MsgBox("Button1は使用可能です。")
End  If 
■リスト2:

メモ:この例ではButton1.Enabled自体がTrueまたはFalseを表しているのでIf Button1.Enabled = True Thenのように記述する必要はありません。このように記述しても同じように動作しますが冗長です。

2.「その他の場合」を表現する例 (Elseの用例)

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

If X > 5 Then
    MsgBox("Xは5より大きいです。")
Else
    MsgBox("Xは5以下です。")
End If 
■リスト3:

3.複数の条件を表現する例 (ElseIfの用例)

以下の例では変数Xが5の場合、そうではなくて変数Yが8である場合、それ以外の場合とで別々のメッセージを表示する。

If X = 5 Then
    MsgBox("Xは5です。")
ElseIf Y = 8  Then
    MsgBox("Yは8です。")
Else
    MsgBox("Xは5ではないし、Yは8ではありません。")
End  If 
■リスト4:

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

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

If X <> 5 Then
     MsgBox("Xは5で はありません。")
End If 
■リスト5:

以下の例も同様。

If Not (X = 5) Then
    MsgBox("Xは5で はありません。")
End If 
■リスト6:

以下の例ではButton1.EnabledがFalseの場合にメッセージを表示する。

If Not Button1.Enabled  Then
    MsgBox("Button1は使用不可です。")
End  If 
■リスト7:

メモ:この例ではButton1.Enabled自体がTrueまたはFalseを表しているのでIf Not Button1.Enabled = True Thenのように記述する必要はありません。このように記述しても同じように動作しますが冗長です。なお、NotはTrueをFalseに、FalseをTrueに反転させます。

5.「かつ」、「であると同時に」を判断する例 (AndAlsoの用例)

以下の例では変数Xが5であると同時に変数Yが8のときにメッセージを表示する。

If X = 5 AndAlso Y = 8 Then
     MsgBox("Xは5でYは8です。")
End If 
■リスト8:

メモ:この例ではAndAlsoの代わりにAndを使うこともできますが、短絡評価にならないため、特別な事情のない限り条件判断にはAndは使用しないようにして下さい。

6.「または」を判断する例 (OrElseの用例)

以下の例では変数Xが5であるか、または変数Yが8のときにメッセージを表示する。X=5であると同時にY=8である場合にもメッセージは表示される。

If X = 5 OrElse Y = 8 Then
     MsgBox("Xが5であるかYが8であるか、もしくはその両方です。")
End If 
■リスト9:

メモ:この例ではOrElseの代わりにOrを使うこともできますが、短絡評価にならないため、特別な事情のない限り条件判断にはOrを使用しないようにして下さい。

7.変数の型を判断する例

TypeOfを使うと型を判断できます。

変数 o がString型であるかを判断する例

If TypeOf o Is String Then
    MsgBox("oはString型です。")
End If
■リスト10:

Object型の変数senderがButton型であるかどうか判断する例

Private Sub AnyControl_Enter(ByVal sender As ObjectByVal e As System.EventArgs) Handles Button1.Enter, Button2.Enter, TextBox1.Enter

    If TypeOf sender Is Button Then
        MsgBox("senderはButtonです。")
    Else
        MsgBox("senderはButtonではありません。")
    End If

End Sub 
■リスト11:

8.Ifの簡略的な用法

If演算子は簡略的なIf文のような使い方ができます。

次の例はMe.EnabledがTrueの場合、valueには「有効」が代入されます。そうでない場合「無効」が代入されます。

Dim value As String

value = If(Me.Enabled, "有効""無効")

MsgBox(value)
■リスト12:

似たような使い方ができるIIf関数がありますが、こちらは短絡評価にならないため使用しないでください。

9.参考:いろいろな例

テキストボックスに何か入力されているか判断する例

If Len(TextBox1.Text) = 0 Then
    MsgBox("TextBox1には何も入力されていません。")
Else
    MsgBox("TextBox1には「" & TextBox1.Text &  "」と入力されています。")
End  If 
■リスト13:

文字列中に「 , 」(カンマ)が含まれているか判断する例

Dim St As String

St = TextBox1.Text

If St.Contains(","Then
    MsgBox("カンマが含まれています。")
Else
    MsgBox("カンマは含まれていません。")
End  If 
■リスト14:

変数Xの値を変数Yで割り切れるか判断する例

Dim X As Integer = 221
Dim Y As Integer = 13

If X Mod Y = 0 Then
    MsgBox(X & "は" & Y & "で割り切れます。")
Else
    MsgBox(X & "を" & Y & "で割ると、余りは" & X Mod Y & "です。")
End If 
■リスト15:

Object型の変数senderがButton1であるかどうか判断する例

Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click

    If sender Is Button1 Then
        MsgBox("Button1です。")
    Else
        MsgBox("Button1ではないです。")
    End If

End Sub 
■リスト16:

参考