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 <= 5 | Questo è 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, 9 | Questo è un esempio di come è possibile verificare se la tua espressione corrisponde a uno dei diversi valori, separando i possibili valori tramite virgole |
Case 10 | Questo è un esempio del test di base per stabilire se la tua espressione corrisponde a un valore specifico |
Case Else | Questo è 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.