Excel VBA Else If

VBA Else Se consente di analizzare una condizione ed eseguire un'azione di conseguenza. La condizione IF verifica se la condizione fornita è TRUE o FALSE, se la condizione è TRUE restituirà il valore assegnato di Value se True e restituirà Value IF False se il risultato è FALSE.

La logica della condizione IF nella normale formula excel e nella formula VBA è la stessa. In questo articolo, tratterò la condizione IF completa di VBA.

Sintassi di VBA If Statement

Innanzitutto, vedi la sintassi dell'istruzione IF in VBA.

Questo è molto simile alla nostra funzione del foglio di lavoro SE. L'unica differenza qui è che dobbiamo mettere la parola THEN per andare avanti nella funzione, anche un'altra parte della condizione IF è facoltativa a differenza della nostra normale condizione IF e dobbiamo menzionare la fine della funzione come End If .

In realtà, ci sarà un ulteriore argomento se le condizioni da testare sono più di una condizione e quella parte viene chiamata come istruzione ELSE IF. Questo è come la nostra condizione IF annidata nei nostri calcoli del foglio di lavoro. ELSE IF entrerà nel valore dell'immagine se la condizione è FALSE, quindi dobbiamo testare più condizioni con la condizione ELSE IF.

In questo articolo, vedremo più condizioni di ELSE IF nel mondo pratico.

Come utilizzare VBA Else If Dichiarazione?

Comprendiamo come utilizzare VBA Else If Statement con alcuni esempi.

Puoi scaricare questo VBA Else If Excel Template qui - VBA Else If Excel Template

Dichiarazione If semplice - Esempio n. 1

Ora è sufficiente una spiegazione teorica, anche se non hai capito nulla di cui preoccuparti. Nell'esempio pratico, afferrerai la logica.

Supponiamo di avere un valore nella cella A2 e di voler verificare se il numero è maggiore di 100 o meno. Se il valore è maggiore di 100, allora abbiamo bisogno del valore nella cella B2 come "Più di 100". Il codice seguente eseguirà l'attività richiesta.

Codice:

 Sub IF_Example1 () If Range ("A2"). Valore> 100, quindi Range ("B2"). Valore = "Più di 100" End If End Sub 

Quindi esegui questo codice usando il tasto F5 o manualmente come mostrato nella schermata. Quindi possiamo vedere il risultato nella cella B2.

Se si modifica il valore nella cella A2 su 99 ed si esegue il codice. Il codice non restituirà nulla perché il valore è inferiore a 100 e non abbiamo fornito alcun risultato se il test è FALSO, come vedremo nel prossimo esempio.

If with Else Statement - Esempio # 2

Abbiamo visto come funziona IF singolo con condizione TRUE. Ora vedremo come lavorare se la condizione fornita è FALSE.

Nel codice corrente dopo che è stato fornito il valore True nella parola del tipo di riga successiva Else.

Codice:

 Sub IF_Example2 () If Range ("A2"). Valore> 100, quindi Range ("B2"). Valore = "Più di 100" Altrimenti End If End Sub 

E nella riga successiva scrivi il codice per False value.

Codice:

 Sotto IF_Esempio2 () Se intervallo ("A2"). Valore> 100 Quindi intervallo ("B2"). Valore = "Più di 100" Intervallo altro ("B2"). Valore = "Meno di 100" Fine se fine 

Quindi esegui questo codice usando il tasto F5 o manualmente come mostrato nella schermata. Se il valore è maggiore di 100, il risultato sarebbe "Più di 100" nella cella B2.

Se il valore è inferiore a 100, il risultato sarebbe "Meno di 100".

Istruzione If annidata con Else If - Esempio n. 3

Quando vogliamo testare più di una condizione, dobbiamo usare più istruzioni IF all'interno della condizione IF. Ma in VBA dobbiamo usare la parola ELSE IF per testare più di una condizione.

Ad esempio, nella cella A2 se il valore è superiore a 200, abbiamo bisogno del risultato come "Più di 200" nella cella B1.

Se il valore è superiore a 100, abbiamo bisogno del risultato come "Più di 100" nella cella B2.

Se il valore è inferiore a 100, abbiamo bisogno del risultato come "Meno di 100" nella cella B2.

Passaggio 1: Dopo che il valore TRUE è stato passato, immettere la parola ELSE IF nella riga successiva.

Codice:

 Sotto IF_Example3 () Se Range ("A2"). Valore> 200 Quindi Range ("B2"). Valore = "Più di 200" ElseIf Range ("A2"). Valore> 100 Quindi Range ("B2"). Valore = "Più di 100" End If End Sub 

Passaggio 2: poiché abbiamo già testato due argomenti, ci resta solo una condizione. Ora nella riga successiva fornire il risultato finale del test con l'istruzione ELSE.

Codice:

 Sotto IF_Example3 () Se Range ("A2"). Valore> 200 Quindi Range ("B2"). Valore = "Più di 200" ElseIf Range ("A2"). Valore> 100 Quindi Range ("B2"). Valore = "Più di 100" Intervallo Else ("B2"). Valore = "Meno di 100" End If End Sub 

Passaggio 3: quindi eseguire questo codice utilizzando il tasto F5 o manualmente come mostrato nella schermata per visualizzare i risultati.

Risultato 1:

Risultato 2:

Risultato 3:

Nidificato se con loop - Esempio n. 4

Questo è l'esempio avanzato di Nested IF con Loop. Supponiamo di avere una tabella di vendita con dati di 12 mesi.

Nella colonna dello stato, abbiamo bisogno del risultato come segue.

  • Se il valore delle vendite è superiore a 7000, il risultato dovrebbe essere "Eccellente"
  • Se il valore delle vendite è superiore a 6500, il risultato dovrebbe essere "Molto buono"
  • Se il valore delle vendite è superiore a 6000, il risultato dovrebbe essere "Buono"
  • Se il valore delle vendite supera i 4000, il risultato dovrebbe essere "Not Bad"
  • Se tutti i risultati sono FALSI, il risultato dovrebbe essere "Cattivo"

Per eseguire questo test, abbiamo bisogno del seguente codice che è una combinazione di IF con ELSE IF e LOOP.

Codice:

 Sotto IF_Example4 () Dim i come intero i = 2 Per i = 2-13 Se celle (i, 2) .Valore> = 7000 Quindi celle (i, 3) .Valore = "Eccellente" Altre celle (i, 2). Valore> = 6500 Then Cells (i, 3) .Value = "Very Good" Altre celle (i, 2) .Value> = 6000 Then Cells (i, 3) .Value = "Good" ElseIf Cells (i, 2) .Value> = 4000 Then Cells (i, 3) .Value = "Not Bad" Altre celle (i, 3) .Value = "Bad" End If Next i End Sub 

Quindi esegui questo codice usando il tasto F5 o manualmente come mostrato nello screenshot per vedere i risultati.

Cose da ricordare

  • L'istruzione ELSE IF richiede il codice del risultato nella stessa riga non nella riga successiva e richiede anche l'istruzione THEN per passare all'istruzione successiva.
  • Se l'istruzione END IF non è inclusa, verrà visualizzato l'errore seguente.

  • L'operatore non è altro che uguale a un'istruzione IF.
  • Come la funzione del foglio di lavoro, possiamo anche usare l'istruzione AND & OR all'interno dell'istruzione IF.

Articoli consigliati

Questa è stata una guida a VBA Else If Statement. Qui abbiamo discusso di VBA Else If e come usare Excel VBA Else If insieme ad alcuni esempi pratici e template Excel scaricabili. Puoi anche consultare i nostri altri articoli suggeriti:

  1. Come usare VBA Select Case?
  2. Come usare la funzione Trova VBA?
  3. Guida alla funzione TRIM VBA
  4. Guida ed esempi di loop VBA

Categoria: