fbpx

VBA Tutorial Parte 5: le istruzioni condizionali

Le istruzioni condizionali di VBA

Le principali istruzioni condizionali in VBA di Excel sono l’istruzione If … Then e l’istruzione Select Case. Entrambe valutano una o più condizioni e, a seconda del risultato, eseguono specifiche sezioni di codice.

I due tipi di istruzione condizionale sono discussi individualmente di seguito.

 

L’istruzione If … Then di Visual Basic

L’istruzione If … Then verifica una condizione e se questa restituisce True, esegue una sezione specifica del codice. Se la condizione restituisce False, viene eseguita una diversa sezione di codice.

La sintassi dell’istruzione If … Then è:

If Condition1 Then
     Codice da eseguire se Condition1 risulta True
ElseIf Condition2 Then
     Codice da eseguire se Condition2 risulta True
.
.
.
Else
     Codice da eseguire se nessuna delle condizioni precedenti risulta True
End If

 

Nell’istruzione If precedente, è possibile aggiungere tutte le condizioni ElseIf che vuoi. In alternativa, le parti ElseIf e Else dell’istruzione condizionale possono essere omesse se lo si desidera.

Nell’esempio seguente, un’istruzione If … Then viene utilizzata per colorare la cella attiva, a seconda del valore del contenuto della cella.

If ActiveCell.Value < 5 Then
     ActiveCell.Interior.Color = 65280  ' Colore di riempimento verde
ElseIf ActiveCell.Value < 10 Then
     ActiveCell.Interior.Color = 49407  ' Colore di riempimento arancione
Else
     ActiveCell.Interior.Color = 255    ' Colore di riempimento rosso
End If

 

Si noti che, nell’esempio precedente, l’istruzione If si interrompe una volta soddisfatta una condizione. Pertanto, se il valore di ActiveCell è inferiore a 5, la prima condizione è soddisfatta e quindi la cella è colorata in verde. L’istruzione If … Then viene quindi chiusa, senza verificare ulteriori condizioni.

Per ulteriori informazioni sull’istruzione VBA If … Then, visita il sito Web del Microsoft Developer Network.

 

L’istruzione Select Case di Visual Basic

L’istruzione Select Case è simile all’istruzione If … Then, in quanto verifica un’espressione ed esegue diverse sezioni di codice, a seconda del valore dell’espressione.

La sintassi dell’istruzione Select Case è:

Select Case Expression
     Case Value1
          Azioni se Expression corrisponde a Value1
     Case Value2
          Azioni se Expression corrisponde a Value2
.
.
.
     Case Else
          Azioni se Expression non corrisponde a nessuno dei casi elencati
End Select

 

Nel codice sopra, la parte Case Else dell’istruzione condizionale è facoltativa.

Nel seguente esempio, l’istruzione Select Case viene utilizzata per colorare la cella attiva, in base al valore del contenuto della cella:

Select Case ActiveCell.Value
     Case Is <= 5
          ActiveCell.Interior.Color = 65280  ' Colore di riempimento verde
     Case 6, 7, 8, 9
          ActiveCell.Interior.Color = 49407  ' Colore di riempimento arancione
     Case 10
          ActiveCell.Interior.Color = 65535  ' Colore di riempimento giallo
     Case Else
          ActiveCell.Interior.Color = 255    ' Colore di riempimento rosso
End Select

 

L’esempio sopra illustra diversi modi di definire i diversi casi nell’istruzione Select Case. Questi sono:

Case Is <= 5Questo è un esempio di come puoi verificare se la tua espressione soddisfa una condizione come <= 5 usando la parola chiave Case Is
Case 6, 7, 8, 9Questo è un esempio di come è possibile verificare se la tua espressione corrisponde a uno dei diversi valori, separando i possibili valori tramite virgole
Case 10Questo è un esempio del test di base per stabilire se la tua espressione corrisponde a un valore specifico
Case ElseQuesto è un esempio della condizione “Else”, che viene eseguita se la tua espressione non corrisponde a nessuno dei casi precedenti

 

Si noti che non appena un caso corrisponde all’istruzione Select Case e viene eseguito il codice corrispondente, viene chiusa l’intera istruzione Select Case. Pertanto, il codice non valuterà mai il resto dei casi elencati.

Per ulteriori informazioni sull’istruzione VBA Select Case, visita il sito Web del Microsoft Developer Network.

 

Vai a VBA Tutorial Parte 6 – I Loop

Torna alla pagina Tutorial VBA