Tartalomjegyzék
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.xlsmHa 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