Dichiarazioni IF VBA di Excel

L'istruzione IF nel codice VBA è una delle più utilizzate che consente di effettuare una scelta. La funzione IF in VBA è diversa se confrontata con la funzione EXCEL IF, ovvero nella funzione o formula IF di Excel verifica se la condizione o i criteri forniti vengono valutati TRUE o FALSE e quindi restituisce un valore basato sulla valutazione, mentre l'istruzione VBA IF eseguirà solo la prima metà dell'istruzione, vale a dire verificare se la condizione è TRUE o FALSE, inoltre è necessario inserire l'istruzione THEN nell'istruzione IF VBA per eseguire l'operazione o l'attività rimanente.

Tre parametri che è necessario considerare o tenere a mente durante la scrittura del codice dell'istruzione IF VBA.

  • Una condizione o un parametro da testare.
  • Un'operazione o un'attività da eseguire se la condizione è TRUE.
  • Un'operazione o un'attività da eseguire se la condizione è FALSE

È un'istruzione decisionale che viene utilizzata per eseguire un blocco di codice.

Esegue un'attività o un'operazione quando una condizione è VERA, altrimenti non fa nulla o fa qualcos'altro. Di solito, un'istruzione if è composta da un'espressione booleana seguita da istruzioni (può essere una o più).

La condizione semplice alla complessa può essere scritta nell'istruzione IF VBA.

Di seguito sono mostrati i diversi tipi di istruzioni IF VBA con la loro sintassi ed esempi.

Tipi di istruzione IFSintassi
SE POIIf Then (Dichiarazione)

Finisci se

SE ALTROIf Then (Statement1)

Altro:

(Statement2)

Finisci se

SE ELSEIFSE allora

(Statement1)

ELSEIF Quindi

(Statement2)

Finisci se

ELSE E ELSEIF

(La dichiarazione ELSEIF deve venire prima, dopo quella ELSE)

IF (condizione1 è vera) Quindi

(Statement1)

ELSEIF (condizione2 è vera) Quindi

(Statement2)

ALTRO

(Dichiarazone3)

Finisci se

SE SENZA ENDIF

(solo codice a riga singola)

Utilizzato quando non viene utilizzata l'istruzione ELSE o ELSE IF

IF (condizione vera) Quindi (istruzione)

Oltre all'istruzione precedente, è possibile utilizzare anche l'istruzione NESTED IF, ovvero un'istruzione if o ELSEIF all'interno di un'altra istruzione if o ELSEIF.

Come utilizzare le istruzioni IF in VBA di Excel?

Impareremo i tipi e come usare le dichiarazioni IF VBA con alcuni esempi in Excel.

È possibile scaricare questo modello Excel istruzioni IF VBA qui - Modello Excel istruzioni IF VBA
  • Apri una finestra dell'Editor VB. Selezionare o fare clic su Visual Basic nel gruppo Codice nella scheda Sviluppatore oppure è possibile fare clic direttamente sul tasto di scelta rapida Alt + F11 .

  • Questo ci porterà alla finestra di codifica di Visual Basic. Ora vai al menu Inserisci dalla finestra VBA e seleziona Modulo come mostrato di seguito.

  • Ora viene creato il modulo vuoto, è anche chiamato finestra di codice, dove puoi iniziare a scrivere se i codici di istruzione.

Dichiarazione VBA IF THEN - Esempio n. 1

IF THEN è una forma semplice di istruzione VBA. Il formato per scrivere un codice è:

Se allora

È necessario utilizzare l'istruzione End If corrispondente dopo aver immesso la sintassi sopra , Quando la condizione soddisfa o i criteri vengono restituiti come true, vengono elaborate tutte le righe tra If Then e End If .

Quando si digita Sottotitoli IF_THEN () come primo messaggio senza virgolette, è possibile osservare, Excel aggiunge automaticamente la riga Fine Sottotitolo sotto la prima riga di messaggio quando si preme Invio. Ora, tutti i codici che inserisci devono essere tra queste due righe.

Codice:

 Sottotitolo IF_THEN () Se 3> 2, MsgBox "3 è maggiore di 2" End If End Sub 

Diamo un'occhiata con il codice sopra che ha una singola riga di istruzione IF che verifica o controlla il valore 3.

Se il valore "3" è maggiore di "2", viene visualizzato un messaggio popup con il messaggio, ad esempio "3 è maggiore di 2". Se si modifica il valore da " 2 " a " 5 " nel codice VBA e lo si esegue, non accade nulla. Perché 3 non è maggiore di 5.

È possibile eseguire la macro facendo clic sul pulsante Esegui sottotitolo o premendo F5 . Viene visualizzata la finestra popup della finestra di messaggio VBA con il messaggio "3 è maggiore di 2"

Dichiarazione VBA IF-THEN-ELSE - Esempio n. 2

In questo scenario, l'istruzione IF & ELSE viene utilizzata per eseguire due diverse condizioni. Il formato o la sintassi per scrivere il codice è:

Se allora

statement1

Altro:

statement2

Finisci se

Se si esegue un codice di seguito indicato, ovvero se la cella B4 contiene un valore 7, verrà visualizzata una finestra di messaggio che mostra "La cella B4 ha valore 7" e Se la cella B4 contiene un valore diverso da 7, verrà visualizzato una finestra di messaggio che mostra "La cella B4 ha un valore diverso da 7".

Qui, in base al valore presente nella cella, si verificano risultati diversi (ovvero più di una condizione).

Codice:

 Sottotitolo IF_THEN_ELSE () Se intervallo ("B4"). Valore = "7" Quindi MsgBox "La cella B4 ha un valore 7" Else MsgBox "La cella B4 ha un valore diverso da 7" End If End Sub 

Ora, la cella "B4" contiene un valore 7, se corro sopra il codice, appare la prima condizione.

Supponiamo di aver modificato il valore della cella "B4" da 7 a 5, come mostrato di seguito.

Codice:

 Sottotitolo IF_THEN_ELSE () If Range ("B4"). Valore = "5" Quindi MsgBox "La cella B4 ha un valore 7" Else MsgBox "La cella B4 ha un valore diverso da 7" End If End Sub 

Quindi, se corro sopra il codice VBA IF-THEN-ELSE, appare la seconda condizione.

IF-THEN-ELSEIF-ELSE - Esempio n. 3

È una forma avanzata di VBA se è l'istruzione, il formato o la sintassi per scrivere un codice

IF (condizione1 è vera) Quindi

(Statement1)

ELSEIF (condizione2 è vera) Quindi

(Statement2)

ALTRO

(Dichiarazone3)

Finisci se

Il vantaggio di questo codice è che ELSE IF può essere utilizzato singolarmente o più volte (10 o 100 volte o più di quello) secondo le vostre esigenze.

Codice:

 Sottotitolo IF_THEN_ELSEIF_ELSE () Se 5> 8 Quindi MsgBox "5 è maggiore di 8" ElseIf 6> 8 Quindi MsgBox "6 è maggiore di 8" ElseIf 7> 8 Quindi MsgBox "7 è maggiore di 8" Else MsgBox "5, 6 o 7 è inferiore a 8 "End If End Sub 

Vediamo come funziona il codice sopra riportato, Excel avvierà o elaborerà la prima istruzione, quando si accorge che è falsa, quindi passerà alla successiva. Qui tutti gli argomenti o le condizioni ElseI sono falsi, quindi andrà avanti fino a quando la condizione non è vera e alla fine il risultato dell'argomento Else viene visualizzato come risultato finale dell'istruzione IF. cioè MsgBox “5, 6 o 7 è minore di 8” che è un VERO argomento.

Quando selezioni ed esegui il codice facendo clic sul pulsante Esegui sottotitolo o premendo F5 . La finestra popup della finestra di messaggio VBA con un messaggio che indica "5, 6 o 7 è inferiore a 8" che è un vero argomento

Ora puoi salvare questi codici macro, rinominando VBA_IF_STATEMENT nella sezione nome della scheda delle proprietà

Cose da ricordare

  • Quando viene utilizzata la singola riga dell'istruzione IF Then, non è necessario utilizzare End IF alla fine. Ma quando lo dividiamo in più di una riga, è necessario utilizzare l'istruzione End If.
  • Nell'istruzione VBA, IF-THEN-ELSEIF-ELSE, gli argomenti ElseIf devono essere sempre inseriti prima dell'argomento Else.

Articoli consigliati

Questa è una guida alle dichiarazioni IF VBA. Qui abbiamo discusso su come utilizzare le istruzioni IF in VBA di Excel insieme ad esempi pratici e modello Excel scaricabile. Puoi anche consultare i nostri altri articoli suggeriti–

  1. Array VBA in Excel
  2. Guida al formato numerico VBA
  3. Guida a VBA Find
  4. Come usare VBA Do While Loop?

Categoria: