VBA - Declaração aninhada If

Uma instrução If ou ElseIf dentro de outra (s) instrução (ões) If ou ElseIf. As instruções If internas são executadas com base nas instruções If mais externas. Isso permite que o VBScript lide com condições complexas com facilidade.

Sintaxe

A seguir está a sintaxe de um aninhado If declaração em 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

Exemplo

Para fins de demonstração, vamos encontrar o tipo de um número positivo com a ajuda de uma função.

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

Quando o código acima é executado, ele produz o seguinte resultado.

The Number is a POSITIVE Number
The Number is NOT 0,1,2 or 3