Sommario
Gli enunciati condizionali vengono utilizzati per eseguire una serie di azioni a seconda della condizione specificata nei linguaggi di programmazione. In questo articolo vi mostreremo che cosa si intende per Se - Allora - Altri dichiarazione condizionale in VBA Excel è e come si usa.
Scarica il libro di lavoro
È possibile scaricare la cartella di lavoro Excel gratuita da qui.
Se-Allora-Else in VBA.xlsm
Introduzione all'istruzione If - Then - Else in VBA
VBA If - Then - Else L'istruzione condizionale viene utilizzata principalmente per decidere il flusso di esecuzione delle condizioni. Se la condizione è vera, viene eseguito un certo insieme di azioni, mentre se la condizione è falsa viene eseguito un altro insieme di azioni.
- Sintassi
If condition Then [dichiarazioni] [Else else_statements]
Oppure,
If condizione Then [dichiarazioni] [Else [else_statements]] End If
Qui,
Argomento | Richiesto/ Facoltativo | Descrizione |
---|---|---|
condizione | Richiesto | Un'espressione numerica o un'espressione di stringa che valuta se l'espressione è Vero o Falso . se il condizione è nullo, viene considerato Falso . |
dichiarazioni | Opzionale | Un modulo a riga singola che non ha Altro Una o più dichiarazioni devono essere separate da due punti. Se la clausola condizione è Vero , viene eseguita questa istruzione. |
altre_dichiarazioni | Opzionale | Vengono eseguite una o più dichiarazioni se non ci sono precedenti condizione è Vero . |
4 esempi di utilizzo dell'istruzione VBA If - Then - Else in Excel
In questa sezione si apprenderà come utilizzare Se-Allora-Else in VBA codice con 4 esempi.
1. Trovare il numero più grande tra due numeri con l'istruzione If - Then - Else
Se si hanno due numeri e si vuole scoprire quale sia il più grande (o il più piccolo), si può usare il metodo Se-Allora-Else dichiarazione in VBA .
Passi:
- Stampa Alt + F11 sulla tastiera o andare alla scheda Sviluppatore -> Visual Basic per aprire Editor Visual Basic .
- Nella finestra del codice a comparsa, dalla barra dei menu, fare clic su Inserire -> Modulo .
- Copiare il codice seguente e incollarlo nella finestra del codice.
Private Sub BiggestNumber() Dim Num1 As Integer Dim Num2 As Integer Num1 = 12345 Num2 = 12335 If Num1> Num2 Then MsgBox "Il primo numero è maggiore del secondo numero" ElseIf Num2> Num1 Then MsgBox "Il secondo numero è maggiore del primo numero" Else MsgBox "Il primo numero e il secondo numero sono uguali" End If End Sub
Il codice è ora pronto per essere eseguito.
Qui stiamo confrontando due numeri 12345 e 12335 Questo processo è di solito perfetto per trovare grandi numeri in un grande insieme di dati.
- Stampa F5 sulla tastiera o dalla barra dei menu selezionare Esegui -> Esegui Sub/UserForm È anche possibile fare clic sul pulsante piccola icona Play nella barra dei menu secondari per eseguire la macro.
Il risultato viene visualizzato nella finestra di Excel MsgBox
Nel nostro caso, il numero 12345 - memorizzato nella variabile Num1 - è maggiore del numero 12335 , Num2 Quindi l'MsgBox ci mostra che il file Il 1° numero è maggiore del 2° numero .
Per saperne di più: Formula di Excel per generare numeri casuali (5 esempi)
2. Controllare il risultato dello studente usando le istruzioni If - Then - Else in VBA
È possibile verificare se uno studente passa o non passa un esame con questa dichiarazione nel file VBA codice.
Passi:
- Allo stesso modo di prima, aprire Editor Visual Basic dal Sviluppatore e Inserire a Modulo nella finestra del codice.
- Nella finestra del codice, copiare il codice seguente e incollarlo.
Sub CheckResult() If Range("D5").Value> 33 Then MsgBox "John's Result is Pass" Else MsgBox "John's Result is Fail" End If End Sub
Il codice è ora pronto per essere eseguito.
Questo codice controlla se la cella D5 ha un valore maggiore di 33 Se lo fa, mostrerà un'uscita, se non lo fa, mostrerà qualcos'altro.
- Correre la macro e si otterrà il risultato in base al codice.
Osservate il set di dati di cui sopra con il risultato, Cella D5 prese 95 che è certamente più di 33 , per cui viene visualizzata la dicitura Il risultato è Pass Ma se eseguiamo il codice per Cell D7 (22), allora verrebbe visualizzato il contrario.
Per saperne di più: Come utilizzare la dichiarazione di caso in VBA (13 esempi)
Letture simili
- Come utilizzare la funzione Log in Excel VBA (5 esempi)
- Utilizzare la funzione VBA LTrim in Excel (4 esempi)
- Come usare la funzione VBA FileDateTime in Excel (3 usi)
- Utilizzare l'operatore VBA Mod (9 esempi)
- Funzione VBA EXP in Excel (5 esempi)
3. Aggiornare i commenti nel voto degli studenti utilizzando più istruzioni If - Then - Else in VBA
Avete imparato come estrarre se uno studente passa o no con un singolo Se-Allora-Else ma questa volta imparerete a conoscere Più If-Then-Else con il seguente esempio.
Eseguiremo un VBA per compilare i codici Commento in base a più condizioni.
Passi:
- Allo stesso modo di prima, aprire Editor Visual Basic dal Sviluppatore e Inserire a Modulo nella finestra del codice.
- Nella finestra del codice, copiare il codice seguente e incollarlo.
Sub UpdateComment() For Each grade In Range("D5:D10") If grade = "A" Then grade.Offset(0, 1).Value = "Great Work" ElseIf grade = "B" Then grade.Offset(0, 1).Value = "Keep It Up" ElseIf grade = "C" Then grade.Offset(0, 1).Value = "Needs Improvement" Else grade.Offset(0, 1).Value = "Parents-Teacher Meeting" End If Next grade EndSub
Il codice è ora pronto per essere eseguito.
Questo codice stampa i commenti in base al voto ottenuto dagli studenti.
- Correre Questo codice viene visualizzato nell'immagine seguente, dove le caselle di commento sono riempite dai risultati appropriati.
4. Dichiarazione If-Then-Else per aggiornare le direzioni cardinali in base al codice in Excel
È inoltre possibile utilizzare la funzione Se-Allora-Else Guardate l'immagine seguente, dove scopriremo le direzioni cardinali in base alle iniziali che sono state date.
Passi:
- Aperto Editor Visual Basic dal Sviluppatore e Inserire a Modulo nella finestra del codice.
- Nella finestra del codice, copiare il codice seguente e incollarlo.
Sub UpdateDir() For Each iDirection In Range("B5:B8") If iDirection = "N" Then iDirection.Offset(0, 1).Value = "North" ElseIf iDirection = "S" Then iDirection.Offset(0, 1).Value = "South" ElseIf iDirection = "E" Then iDirection.Offset(0, 1).Value = "East" Else iDirection.Offset(0, 1).Value = "West" End If Next iDirection EndSub
Il codice è ora pronto per essere eseguito.
- Correre questo codice e si otterranno i nomi delle direzioni nelle rispettive celle.
Se invece volete trovare solo una direzione in base al codice, potete usare il codice qui sotto.
Sub UpdateDirections() Dim iDirection As String Dim iDirectionName As String iDirection = Range("B5").Value If iDirection = "N" Then iDirectionName = "North" ElseIf iDirection = "S" Then iDirectionName = "South" ElseIf iDirection = "E" Then iDirectionName = "East" Else iDirectionName = "West" End If Range("C5").Value = iDirectionName End Sub
Questo codice prenderà il valore dalla cella B5 e restituisce il risultato in base ad esso nella cella C5 .
Ad esempio, se si scrive " N " in Cell B5 , vi darà " Nord Se si scrive " S " in Cell B5 , vi mostrerà " Sud " in Cell C5 .
Conclusione
Questo articolo ha mostrato come utilizzare il metodo Se - Allora - Altri in Excel con VBA Spero che questo articolo vi sia stato di grande aiuto. Non esitate a chiedere se avete domande sull'argomento.