excel-vba
Dichiarazioni condizionali
Ricerca…
La dichiarazione di If
L'istruzione di controllo If
consente di eseguire codice diverso a seconda della valutazione di un'istruzione condizionale (booleana). Un'istruzione condizionale è una che valuta True
o False
, ad esempio x > 2
.
Esistono tre modelli che possono essere utilizzati quando si implementa un'istruzione If
, che sono descritti di seguito. Si noti che una valutazione condizionale If
è sempre seguita da un Then
.
1. Valutare uno If
un'istruzione condizionale e fare qualcosa se è True
Riga singola If
affermazione
Questo è il modo più breve per usare un If
ed è utile quando una sola affermazione deve essere eseguita su una True
valutazione. Quando si utilizza questa sintassi, tutto il codice deve essere su una singola riga. Non includere una End If
alla fine della linea.
If [Some condition is True] Then [Do something]
If
blocco
Se è necessario eseguire più righe di codice su una valutazione True
, è possibile utilizzare un blocco If
.
If [Some condition is True] Then
[Do some things]
End If
Notare che, se si utilizza un blocco If
più righe, è necessario un End If
corrispondente.
2. Valutare una istruzione If
condizionale, facendo una cosa se è True
e facendo qualcos'altro se è False
Riga singola If
, istruzione Else
Questo può essere usato se una dichiarazione deve essere eseguita su una True
valutazione e una dichiarazione diversa deve essere eseguita su una valutazione False
. State attenti a usare questa sintassi, poiché è spesso meno chiaro ai lettori che esiste un'istruzione Else
. Quando si utilizza questa sintassi, tutto il codice deve essere su una singola riga. Non includere una End If
alla fine della linea.
If [Some condition is True] Then [Do something] Else [Do something else]
If
, Else
blocco
Utilizzare un blocco If
, Else
per aggiungere chiarezza al codice o se è necessario eseguire più righe di codice in una valutazione True
o False
.
If [Some condition is True] Then
[Do some things]
Else
[Do some other things]
End If
Notare che, se si utilizza un blocco If
più righe, è necessario un End If
corrispondente.
3. Valutare molte affermazioni condizionali, quando le dichiarazioni precedenti sono tutte False
e fare qualcosa di diverso per ciascuna di esse
Questo modello è l'uso più generale di If
e dovrebbe essere usato quando ci sono molte condizioni non sovrapposte che richiedono un trattamento diverso. A differenza dei primi due modelli, questo caso richiede l'uso di un blocco If
, anche se verrà eseguita solo una riga di codice per ogni condizione.
If
, ElseIf
, ...
, Else
blocco
Invece di dover creare molti blocchi If
uno sotto l'altro, è possibile utilizzare un ElseIf
valutare una condizione aggiuntiva. L' ElseIf
viene valutato solo se precedente If
valutazione è False
.
If [Some condition is True] Then
[Do some thing(s)]
ElseIf [Some other condition is True] Then
[Do some different thing(s)]
Else 'Everything above has evaluated to False
[Do some other thing(s)]
End If
Poiché molte istruzioni di controllo ElseIf
possono essere incluse tra un If
e un End If
come richiesto. Non è richiesta un'istruzione di controllo Else
quando si utilizza ElseIf
(sebbene sia consigliabile), ma se è inclusa, deve essere l'istruzione di controllo finale prima di End If
.