Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.
22 out of 41 rated this helpful - Rate this topic

If...Then...Else Statement (Visual Basic)

Conditionally executes a group of statements, depending on the value of an expression.

If condition [ Then ]
    [ statements ]
[ ElseIf elseifcondition [ Then ]
    [ elseifstatements ] ]
[ Else
    [ elsestatements ] ]
End If
-or-
If condition Then [ statements ] [ Else [ elsestatements ] ]
condition

Required. Expression. Must evaluate to True or False, or to a data type that is implicitly convertible to Boolean.

Then

Required in the single-line form, optional in the multiple-line form.

statements

Optional. One or more statements following If...Then that are executed if condition evaluates to True.

elseifcondition

Required if ElseIf is present. Expression. Must evaluate to True or False, or to a data type that is implicitly convertible to Boolean.

elseifstatements

Optional. One or more statements following ElseIf...Then that are executed if elseifcondition evaluates to True.

elsestatements

Optional. One or more statements that are executed if no previous condition or elseifcondition expression evaluates to True.

End If

Terminates the If...Then...Else block.

You can use the single-line form for short, simple tests. However, the multiple-line form provides more structure and flexibility than the single-line form and is usually easier to read, maintain, and debug.

When a multiple-line If...Then...Else is encountered, condition is tested. If condition is True, the statements following Then are executed. If condition is False, each ElseIf statement is evaluated in order. When a True elseifcondition is found, the statements immediately following the associated Then are executed. If no elseifcondition evaluates to True, or if there are no ElseIf statements, the statements following Else are executed. After executing the statements following Then, ElseIf, or Else, execution continues with the statement following End If.

TipTip:

The Select...Case Statement (Visual Basic) might be more useful when evaluating a single expression that has several possible values.

In the single-line form, it is possible to have multiple statements executed as the result of an If...Then decision. All statements must be on the same line and be separated by colons. The following example demonstrates this.

If A > 10 Then A = A + 1 : B = B + A : C = C + B

In the multiple-line form, the If statement must be the only statement on the first line. The ElseIf, Else, and End If statements can be preceded only by a line label. The multiple-line If...Then...Else block must end with an End If statement.

To determine whether or not an If statement introduces a multiple-line form, examine what follows the Then keyword. If anything other than a comment appears after Then in the same statement, the statement is treated as a single-line If statement. If Then is absent, it must be the beginning of a multiple-line If...Then...Else.

The ElseIf and Else clauses are both optional. You can have as many ElseIf clauses as you want in a multiple-line If...Then...Else, but none can appear after an Else clause. Multiple-line forms can be nested within one another.

The following example shows both the multiple- and single-line forms of the If...Then...Else statement.

Dim number, digits As Integer 
Dim myString As String
number = 53
If number < 10 Then
    digits = 1
ElseIf number < 100 Then
    digits = 2
Else
    digits = 3
End If 
If digits = 1 Then myString = "One" Else myString = "More than one"

In the preceding example, the ElseIf condition evaluates to True, and digits is assigned a value of 2. The last statement then assigns a value of "More than one" to myString.

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

Show:
© 2014 Microsoft. All rights reserved.