Innehållsförteckning
I den här artikeln visar jag hur du kan använda en Om uttalande på 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.xlsmOm 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å