Come utilizzare l'istruzione If Else in VBA? (con esempi)

Istruzione Excel VBA IF Else

Non è presente alcuna istruzione IF Else nel foglio di lavoro e può essere utilizzata solo nel codice VBA, mentre si lavora in VBA possiamo fornire una condizione che è l'istruzione della condizione If e se è soddisfatta un certo insieme di istruzioni, viene eseguita e se la condizione fallisce l'istruzione, quindi viene eseguita l'istruzione else.

VBA non è diverso quando si tratta di test logici. Funziona allo stesso modo di come funziona nei normali fogli di lavoro. Di tutte le funzioni logiche, la funzione "IF" viene utilizzata principalmente dal lotto. Utilizzando IF, possiamo condurre un test logico e arrivare alle decisioni se il test logico è soddisfatto e anche arrivare a decisioni alternative se il test logico non è soddisfatto.

Di seguito è riportata la sintassi della condizione IF Else.

IF Allora Se il test logico è TRUE Altrimenti Se il test logico è FALSE End IF

Che cos'è l'istruzione VBA IF Then Else?

Una volta che il test logico fornito è FALSE, abbiamo bisogno di qualche attività alternativa da eseguire come parte del codice. Quindi "SE ALTRO" significa che se il test logico è FALSO, cos'altro è necessario fare.

Per comprendere meglio l'esempio seguente, abbiamo fornito il risultato come "10 è maggiore" solo se il test logico è VERO. Tuttavia, nel risultato logico FALSE, possiamo fornire il risultato alternativo come "10 è minore".

Quindi, una volta forniti i test logici e il codice della parte TRUE scritto nella riga successiva, immettere la parola "ELSE".

ELSE significa che se il test logico non è VERO, abbiamo bisogno del risultato come "10 è minore".

Codice:

Sub IF_Else_Example1 () If 10> 11 Then MsgBox "10 è maggiore di" Else MsgBox "10 è minore" End If End Sub

Ora il nostro codice fornisce almeno uno dei risultati di cui sopra. Esegui il codice e guarda il risultato.

Poiché abbiamo fornito il risultato alternativo se il test logico è FALSO, ha visualizzato il risultato alternativo come "10 è minore" perché 10 è minore dell'altro numero 11.

Esempio

Ad esempio, guarda i dati seguenti.

Con questi dati, dobbiamo arrivare allo stato basato sul "Costo" di ogni prodotto. Per arrivare allo stato di seguito sono i criteri.

Se il prezzo di costo è> 50, lo stato dovrebbe essere " Costoso " oppure lo stato dovrebbe essere " Non costoso ".

Qui abbiamo bisogno di testare il prezzo di costo, cioè test logico se il prezzo di costo è> 50 o meno. Se il test logico è VERO, ovvero il prezzo di costo è superiore a 50, è necessario lo stato "Costoso" e se il test logico è FALSO, ovvero il prezzo di costo è inferiore a 50, è necessario il risultato alternativo come "Non costoso."

Ok, scriviamo ora il codice. Prima di ciò, copia e incolla la tabella sopra in un foglio di lavoro Excel.

Passaggio 1: avviare la sottoprocedura.

Sub IF_ELSE_Example2 () End Sub

Passaggio 2: dichiarare la variabile come tipo di dati Integer.

Dim k As Integer

Passaggio 3: poiché è necessario testare più valori di una cella, è necessario utilizzare FOR VBA LOOP per eseguire il ciclo delle celle e applicare la logica per tutte le celle.

Dobbiamo applicare test logici dalla seconda riga all'ottava riga, quindi inizia FOR LOOP da 2 a 8.

Codice:

Per k = da 2 a 8 Avanti k

Passaggio 4: all'interno di questo ciclo, dobbiamo eseguire il test logico. Quindi apri l'istruzione IF e seleziona la prima cella utilizzando la proprietà CELLS.

Codice:

If Cells (k, 2) .Value> 50 Then

Qui Cells (k, 2) significa riga (valore di k) e colonna 2.

Passaggio 5: se il valore di questa cella è> 50, è necessario che il risultato sia "Costoso" nella cella della colonna successiva. Quindi il codice sarà -

Codice:

Celle (k, 3) .Value = "Costoso"

Passaggio 6: se il test non è VERO, abbiamo bisogno dei risultati dell'istruzione ELSE, ad esempio "Non costoso".

Codice:

Sub IF_ELSE_Example2 () Dim k As Integer For k = 2 To 8 If Cells (k, 2) .Value> 50 Then Cells (k, 3) .Value = "Expensive" Else Cells (k, 3) .Value = "Not Costoso "End If Next k End Sub

Questo codice eseguirà un ciclo dalla 2a all'8a riga dei test dei numeri e arriverà al risultato in base al prezzo di costo.

In questo modo, possiamo usare If-Else per ottenere risultati alternativi.

Cose da ricordare

  • L'istruzione Else è per un test logico FALSO.
  • Se si desidera applicare più di due test logici in Excel, è necessario utilizzare l'istruzione ELSE IF.
  • In caso di esecuzione di attività per più di una cella, è necessario utilizzare i cicli.
  • L'istruzione If Else può testare solo un test logico.

Articoli interessanti...