VBA - Istruzione If annidata

Un'istruzione If o ElseIf all'interno di un'altra istruzione If o ElseIf. Le istruzioni If interne vengono eseguite in base alle istruzioni If più esterne. Ciò consente a VBScript di gestire facilmente condizioni complesse.

Sintassi

Di seguito è la sintassi di un annidato If dichiarazione 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

Esempio

A scopo dimostrativo, troviamo il tipo di un numero positivo con l'aiuto di una funzione.

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 il codice precedente viene eseguito, produce il seguente risultato.

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