Indholdsfortegnelse
I denne artikel vil jeg vise dig, hvordan du kan bruge en Hvis erklæring på VBA i Excel baseret på en celleværdi.
Excel VBA: Hvis-erklæring baseret på celleværdi (hurtig visning)
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
Download arbejdsbog til øvelser
Download denne arbejdsbog til træning, så du kan øve dig, mens du læser denne artikel.
Hvis-erklæring baseret på celleværdi.xlsmHvis-erklæring baseret på celleværdi i Excel VBA
Her har vi et regneark, der indeholder navne og mærker af nogle af skolens elever ved en eksamen.
Vores mål er at lære, hvordan man bruger Hvis erklæring i Excel VBA baseret på en celleværdi fra dette datasæt.
1. Hvis erklæring baseret på celleværdi af en enkelt celle i Excel VBA
Først og fremmest skal vi lære at bruge en If-erklæring baseret på værdien af en enkelt celle.
Lad os f.eks. prøve at se, om Natalia Austin bestod eksamen eller ej, dvs. om karakteren i celle C3 er større end 40 eller ej.
Kolonne D indeholder resultatet af de studerende. Det vil sige, hvis celle C3 indeholder et mærke større end 40, celle D3 vil indeholde "Bestået" Ellers indeholder den "Mislykkedes" .
Vi bruger en VBA Område objekt til at oprette dette Hvis erklæring baseret på celleværdien.
VBA kode for dette vil være:
⧭ VBA-kode:
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
⧭ Udgang:
Kør koden fra Kør Sub / UserForm værktøj i VBA værktøjslinjen.
Det vil gøre celle D3 indeholder "Mislykkedes" , som mærket i celle C3 er mindre end 40 ( 32 ).
2. Hvis-erklæring baseret på værdierne i et område af celler i Excel VBA
Du kan også bruge Hvis erklæring baseret på værdierne i en række celler i VBA . Du kan bruge en for-loop til dette formål.
Her kan vi f.eks. finde ud af resultatet for alle eleverne med en enkelt kode. Vi itererer gennem en for-loop der kontrollerer alle cellerne i intervallet C3:C12 og returnerer et tilsvarende resultat, "Bestået" eller "Mislykkedes" .
VBA kode for dette vil være:
⧭ VBA-kode:
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
⧭ Udgang:
Kør koden fra Kør Sub / UserForm værktøj i VBA værktøjslinjen. Den returnerer "Bestået" for de mærker, der er større end 40 , og "Failed" for dem, der er mindre end n 40 .
Ting at huske
Her har jeg vist en Hvis erklæring med en enkelt betingelse. Men hvis du ønsker det, kan du bruge flere betingelser i en Hvis erklæring .
Hvis du bruger ELLER skrive flere betingelser, skal du forene dem med en ELLER .
Og hvis du bruger OG skrive flere betingelser, skal du forene dem med en OG .
For eksempel for at kontrollere, om markeringen i celle B3 er større end 40 og mindre end 50 eller ikke, bruge:
If (Range("C3").Value> 40 Or Range("C3").Value <50) Then