Excel VBA: Ha utasítás a cella értéke alapján (2 gyakorlati példa)

  • Ossza Meg Ezt
Hugh West

Ebben a cikkben megmutatom, hogyan használhatsz egy If utasítás a oldalon. VBA Excelben egy cella értéke alapján.

Excel VBA: Ha kijelentés a cella értéke alapján (gyorsnézet)

 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 

Gyakorlati munkafüzet letöltése

Töltse le ezt a gyakorlati munkafüzetet, hogy gyakorolhasson, miközben ezt a cikket olvassa.

Ha kijelentés cellák értéke alapján.xlsm

Ha a cellák értékén alapuló utasítás az Excel VBA-ban

Itt van egy munkalapunk, amely tartalmazza a nevek és jelek egy iskola néhány diákjának vizsgája.

Célunk, hogy megtanuljuk, hogyan kell használni a If utasítás Excelben VBA az adatkészlet egy cellájának értéke alapján.

1. Egyetlen cella cellájának értékén alapuló If-kijelentés az Excel VBA-ban

Először is megtanuljuk, hogyan használjunk egy If utasítást egyetlen cella értéke alapján.

Például próbáljuk megnézni, hogy Natalia Austin átment-e a vizsgán vagy sem, azaz, hogy a cellában lévő jegyet C3 nagyobb, mint 40 vagy nem.

Oszlop D tartalmazza a diákok eredményét. Azaz, ha a cellában C3 40-nél nagyobb értéket tartalmaz, a cella D3 tartalmazni fogja "Átment" . Egyébként tartalmazni fog "Elbukott" .

Használni fogunk egy VBA Tartomány objektumot, hogy létrehozza ezt a If utasítás a cella értéke alapján.

A VBA kód ehhez lesz:

⧭ VBA kód:

 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 

⧭ Kimenet:

Futtassa a kódot a Run Sub / UserForm futtatása eszköz a VBA eszköztár.

Ez teszi a sejtet D3 tartalmaznak "Elbukott" , mint a cellában lévő jel C3 kisebb, mint 40 ( 32 ).

2. Ha kijelentés egy cellatartomány értékei alapján az Excel VBA-ban

Használhatja a If utasítás a cellák egy tartományának értékei alapján a VBA Használhat egy for-loop erre a célra.

Itt például egyetlen kóddal megtudhatjuk az összes tanuló eredményét. Végigfutunk egy for-loop amely a tartomány összes celláját ellenőrzi. C3:C12 és a megfelelő eredményt adja vissza, "Átment" vagy "Elbukott" .

A VBA kód ehhez lesz:

⧭ VBA kód:

 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 

⧭ Kimenet:

Futtassa a kódot a Run Sub / UserForm futtatása eszköz a VBA eszköztár. Visszaadja a "Átment" a következő értékeknél nagyobb értékeknél 40 , és "Sikertelen" azoknál, amelyek kevesebbek mint n 40 .

Emlékezetes dolgok

Itt mutattam egy If utasítás De ha szeretné, akkor több feltételt is használhat a If utasítás .

Ha a VAGY több feltételt írjon be, kösse össze őket egy VAGY .

És ha a ÉS több feltételt írjon be, kösse össze őket egy ÉS .

Például annak ellenőrzésére, hogy a cellában lévő jel B3 nagyobb, mint 40 és kevesebb, mint 50 vagy nem, használja:

 If (Range("C3").Value> 40 Or Range("C3").Value <50) Then 

Hugh West nagy tapasztalattal rendelkező Excel-oktató és elemző, több mint 10 éves tapasztalattal az iparágban. Számvitel és pénzügy szakos alapdiplomát, valamint üzleti adminisztrációból mesterképzést szerzett. Hugh szenvedélye a tanítás, és egyedülálló tanítási megközelítést dolgozott ki, amely könnyen követhető és érthető. Az Excelben szerzett szakértői tudása világszerte több ezer diáknak és szakembernek segített abban, hogy készségeiket és karrierjüket kiválóan teljesítsék. Hugh blogján keresztül megosztja tudását a világgal, ingyenes Excel-oktatóanyagokat és online képzéseket kínálva, hogy segítse az egyéneket és a vállalkozásokat teljes potenciáljuk kibontakoztatásában.