Sommario
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.xlsmDichiarazione 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