Excel VBA: Hvis-anvisning baseret på celleværdi (2 praktiske eksempler)

  • Del Dette
Hugh West

I denne artikel vil jeg vise dig, hvordan du kan bruge en Hvis erklæring 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.xlsm

Hvis-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 

Hugh West er en meget erfaren Excel-træner og analytiker med over 10 års erfaring i branchen. Han har en bachelorgrad i regnskab og finans og en kandidatgrad i Business Administration. Hugh har en passion for undervisning og har udviklet en unik undervisningstilgang, der er nem at følge og forstå. Hans ekspertviden om Excel har hjulpet tusindvis af studerende og fagfolk verden over med at forbedre deres færdigheder og udmærke sig i deres karriere. Gennem sin blog deler Hugh sin viden med verden og tilbyder gratis Excel-tutorials og onlinetræning for at hjælpe enkeltpersoner og virksomheder med at nå deres fulde potentiale.