Excel VBA: dichiarazione If basata sul valore della cella (2 esempi pratici)

  • Condividi Questo
Hugh West

In questo articolo, vi mostrerò come potete usare un Se la dichiarazione in VBA in Excel in base al valore di una cella.

Excel VBA: dichiarazione If basata sul valore della cella (vista rapida)

 Sub If_Statement_Based_On_a_Single_Cell() If Range("C3").Value>= 40 Then Range("D3").Value = "Passed" Else Range("D3").Value = "Failed" End If End Sub 

Scarica il quaderno di esercizi

Scaricate questo quaderno di esercizi per esercitarvi durante la lettura di questo articolo.

Dichiarazione If basata sul valore della cella.xlsm

Dichiarazione If basata sul valore della cella in Excel VBA

Qui abbiamo un foglio di lavoro che contiene il file nomi e marchi di alcuni studenti di una scuola in un esame.

Il nostro obiettivo è quello di imparare a utilizzare il Se la dichiarazione in Excel VBA in base al valore di una cella di questo set di dati.

1. Dichiarazione If basata sul valore di una singola cella in Excel VBA

Innanzitutto, impareremo a utilizzare un'istruzione If basata sul valore di una singola cella.

Per esempio, proviamo a vedere se Natalia Austin ha superato l'esame o meno, cioè se il voto nella cella C3 è maggiore di 40 o meno.

Colonna D contiene il risultato degli studenti. Cioè, se la cella C3 contiene un voto superiore a 40, la cella D3 conterrà "Superato" Altrimenti, conterrà "Fallito" .

Utilizzeremo un VBA Gamma per creare questo oggetto Se la dichiarazione in base al valore della cella.

Il VBA Il codice per questo sarà:

⧭ Codice VBA:

 Sub If_Statement_Based_On_a_Single_Cell() If Range("C3").Value>= 40 Then Range("D3").Value = "Passed" Else Range("D3").Value = "Failed" End If End Sub 

⧭ Uscita:

Eseguire il codice dal file Esegui Sub / UserForm strumento nella sezione VBA barra degli strumenti.

Farà sì che le cellule D3 contenere "Fallito" come il segno nella cella C3 è inferiore a 40 ( 32 ).

2. Dichiarazione If basata sui valori di un intervallo di celle in Excel VBA

È inoltre possibile utilizzare il comando Se la dichiarazione in base ai valori di un intervallo di celle in VBA È possibile utilizzare un ciclo for a questo scopo.

Per esempio, qui possiamo trovare il risultato di tutti gli studenti con un solo codice. Eseguiremo un'iterazione attraverso un file ciclo for che controllerà tutte le celle dell'intervallo C3:C12 e restituire un risultato corrispondente, "Superato" o "Fallito" .

Il VBA Il codice per questo sarà:

⧭ Codice VBA:

 Sub If_Statement_Based_On_a_Range_of_Cells() For i = 1 To Range("C3:C12").Rows.Count If Range("C3:C12").Cells(i, 1).Value>= 40 Then Range("D3:D12").Cells(i, 1).Value = "Passed" Else Range("D3:D12").Cells(i, 1).Value = "Failed" End If Next i End Sub 

⧭ Uscita:

Eseguire il codice dal file Esegui Sub / UserForm strumento nella sezione VBA restituirà "Superato" per i segni che sono maggiori di 40 e "Failed" per quelli che sono inferiori a n 40 .

Cose da ricordare

Qui ho mostrato un Se la dichiarazione con una sola condizione, ma se lo si desidera, è possibile utilizzare più condizioni all'interno di un'azione di Se la dichiarazione .

Se si utilizza O digitare più condizioni, unirle con un O .

E se si usa E digitare più condizioni, unirle con un E .

Ad esempio, per verificare se il segno nella cella B3 è maggiore di 40 e meno di 50 o meno, utilizzare:

 Se (Range("C3").Value> 40 Or Range("C3").Value <50) Allora 

Hugh West è un istruttore e analista di Excel di grande esperienza con oltre 10 anni di esperienza nel settore. Ha conseguito una laurea in Contabilità e Finanza e un Master in Economia Aziendale. Hugh ha una passione per l'insegnamento e ha sviluppato un approccio didattico unico che è facile da seguire e capire. La sua conoscenza approfondita di Excel ha aiutato migliaia di studenti e professionisti in tutto il mondo a migliorare le proprie competenze ed eccellere nella propria carriera. Attraverso il suo blog, Hugh condivide le sue conoscenze con il mondo, offrendo esercitazioni gratuite su Excel e formazione online per aiutare le persone e le aziende a raggiungere il loro pieno potenziale.