Excel VBA: Om-uttalande baserat på cellvärde (2 praktiska exempel)

  • Dela Detta
Hugh West

I den här artikeln visar jag hur du kan använda en Om uttalande VBA i Excel baserat på ett cellvärde.

Excel VBA: Om uttalande baserat på cellvärde (snabbvisning)

 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 

Ladda ner övningsboken

Ladda ner den här arbetsboken för att träna medan du läser den här artikeln.

Om uttalande baserat på cellvärde.xlsm

Om uttalande baserat på cellvärde i Excel VBA

Här har vi ett kalkylblad som innehåller namn och märken av några elever i en skola i ett prov.

Vårt mål är att lära oss att använda Om uttalande i Excel VBA baserat på ett cellvärde från denna datamängd.

1. Om uttalande baserat på cellvärdet i en enda cell i Excel VBA

Först och främst ska vi lära oss att använda ett If-meddelande baserat på värdet i en enskild cell.

Låt oss till exempel försöka se om Natalia Austin klarade provet eller inte, det vill säga om markeringen i cell C3 är större än 40 eller inte.

Kolumn D innehåller resultatet av studenterna. Det vill säga, om cellen C3 innehåller ett värde som är större än 40, cell D3 kommer att innehålla "Godkänd" Annars innehåller den följande "Misslyckades" .

Vi använder en VBA Utbud objekt för att skapa detta Om uttalande baserat på cellvärdet.

VBA koden för detta kommer att vara:

⧭ VBA-kod:

 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 

⧭ Utgång:

Kör koden från Kör Sub / UserForm verktyg i VBA verktygsfältet.

Det kommer att göra cell D3 innehåller "Misslyckades" , som märket i cellen C3 är mindre än 40 ( 32 ).

2. Om uttalande baserat på värden i ett intervall av celler i Excel VBA

Du kan också använda Om uttalande baserat på värdena i ett antal celler i VBA . Du kan använda en för-slinga för detta ändamål.

Här kan vi till exempel ta reda på resultatet för alla elever med en enda kod. Vi itererar genom en för-slinga som kontrollerar alla celler i intervallet C3:C12 och återge ett motsvarande resultat, "Godkänd" eller . "Misslyckades" .

VBA koden för detta kommer att vara:

⧭ VBA-kod:

 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 

⧭ Utgång:

Kör koden från Kör Sub / UserForm verktyg i VBA verktygsfältet. Den returnerar "Godkänd" för de märken som är större än 40 , och "Failed" för de som är mindre än n 40 .

Saker att komma ihåg

Här har jag visat en Om uttalande med ett enda villkor. Men om du vill kan du använda flera villkor i en Om uttalande .

Om du använder ELLER skriva flera villkor, sammanfoga dem med en ELLER .

Och om du använder OCH skriva flera villkor, sammanfoga dem med en OCH .

Om du till exempel vill kontrollera om markeringen i cellen B3 är större än 40 och mindre än 50 eller inte, använd:

 Om (Range("C3").Value> 40 Or Range("C3").Value <50) Då 

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.