VBA - Nested If Statement


Advertisements

An If or ElseIf statement inside another If or ElseIf statement(s). The inner If statements are executed based on the outermost If statements. This enables VBScript to handle complex conditions with ease.

Syntax

Following is the syntax of an Nested If statement in VBScript.

If(boolean_expression) Then
   Statement 1
   .....
   .....
   Statement n
   
   If(boolean_expression) Then
      Statement 1
      .....
      .....
      Statement n
   ElseIf (boolean_expression) Then
      Statement 1
      .....
      ....
      Statement n
   Else
      Statement 1
      .....
      ....
      Statement n
   End If
Else
   Statement 1
	.....
	....
   Statement n
End If

Example

For demo purpose, let us find the type of a positive number with the help of a function.

Private Sub nested_if_demo_Click()
   Dim a As Integer
   a = 23
  
   If a > 0 Then
      MsgBox "The Number is a POSITIVE Number"
      
      If a = 1 Then
         MsgBox "The Number is Neither Prime NOR Composite"
      ElseIf a = 2 Then
         MsgBox "The Number is the Only Even Prime Number"
      ElseIf a = 3 Then
         MsgBox "The Number is the Least Odd Prime Number"
      Else
         MsgBox "The Number is NOT 0,1,2 or 3"
      End If
   ElseIf a < 0 Then
      MsgBox "The Number is a NEGATIVE Number"
   Else
      MsgBox "The Number is ZERO"
   End If
End Sub

When the above code is executed, it produces the following result.

The Number is a POSITIVE Number
The Number is NOT 0,1,2 or 3
vba_decisions.htm
Advertisements