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 .