Feltételek a VBA-ban

Az Excel VBA-ban használt legfontosabb feltétel utasítások az utasítások Ha akkor и Válassza a Case lehetőséget. Mindkét kifejezés egy vagy több feltételt tesztel, és az eredménytől függően különböző műveleteket hajt végre. Erről a két feltételes operátorról a következőkben részletesebben fogunk beszélni.

„Ha… akkor” utasítás a Visual Basicben

Operátor Ha akkor ellenőrzi a feltételt, és ha igaz (TRUE), akkor a megadott műveletsor végrehajtásra kerül. Meghatározhatja a végrehajtandó műveletek halmazát is, ha a feltétel HAMIS.

Operátori szintaxis Ha akkor mint ez:

If Условие1 Then

   Действия в случае, если выполняется Условие1

ElseIf Условие2 Then

   Действия в случае, если выполняется Условие2

Else

   Действия в случае, если не выполнено ни одно из Условий

End If

Ebben a kifejezésben az elemek elseif и más feltételek operátor elhagyható, ha nincs rájuk szükség.

Az alábbiakban egy példa látható, amelyben az operátor használatával Ha akkor Az aktív cella kitöltési színe a benne lévő értéktől függően változik:

Ha ActiveCell.Value < 5, akkor ActiveCell.Interior.Color = 65280 'Ячейка окрашивается в зелёный цвет ElseIf ActiveCell.Value < 10 Akkor Elвав.вав.жжжжнышяйкаЯкокнычейка terior.Szín = 49407 'Ячейка окрашивается в красный цвет Vége Ha

Vegye figyelembe, hogy amint a feltétel igaz, a feltételes utasítás végrehajtása megszakad. Ezért ha a változó értéke ActiveCell 5-nél kisebb, akkor az első feltétel igaz lesz, és a cella zöldre vált. Ezt követően a nyilatkozat végrehajtása Ha akkor megszakad, és a többi feltétel nem kerül ellenőrzésre.

További információ a feltételes operátor használatáról a VBA-ban Ha akkor megtalálható a Microsoft Developer Network oldalán.

„Select Case” utasítás a Visual Basicben

Operátor Válassza a Case lehetőséget operátorhoz hasonló Ha akkor annyiban, hogy ellenőrzi a feltétel igazságtartalmát is, és az eredménytől függően választ egyet a lehetőségek közül.

Operátori szintaxis Válassza a Case lehetőséget mint ez:

Select Case Выражение

Case Значение1

   Действия в случае, если результат Выражения соответствует Значению1

Case Значение2

   Действия в случае, если результат Выражения соответствует Значению2

...

Case Else

   Действия в случае, если результат Выражения не соответствует ни одному из перечисленных вариантов Значения

End Select

Elem Más eset nem kötelező, de nem várt értékek kezelésére ajánlott.

A következő példában a konstrukció használatával Válassza a Case lehetőséget megváltoztatja az aktuális cella kitöltési színét a benne lévő értéktől függően:

Select Case ActiveCell.Value Eset: <= 5 ActiveCell.Interior.Color = 65280 'Ячейка окрашивается в зелёный цвет 6., 7., 8., 9. eset, 49407., 10., врацевра65535 Caseжевраки. 11 ActiveCell.Interior. Color = 20 'Ячейка окрашивается в жёлтый цвет, 10498160-255. eset ActiveCell.Interior.Color = XNUMX 'Ячейра.XNUMX.Co. шивается в красный цвет End Select

A fenti példa bemutatja, hogyan állíthat be értéket egy elemhez különböző módokon. Ügy építés alatt Válassza a Case lehetőséget. Ezek a módszerek:

Case Is <= 5Így a kulcsszó használatával Case Is ellenőrizheti, hogy az érték megfelel-e kifejezések a forma állapota <= 5.
Ügy 6, 7, 8, 9Így ellenőrizheti, hogy az érték egyezik-e kifejezések a felsorolt ​​értékek valamelyikével. A felsorolt ​​értékek vesszővel vannak elválasztva.
Ügy 10Ez ellenőrzi, hogy az érték egyezik-e kifejezések adott értékkel.
Ügy 11 Ez az 20Így írhat egy kifejezést annak ellenőrzésére, hogy az érték megfelel-e kifejezések a forma állapota tól 11 a 20 (egyenértékű a "11<=érték<=20" egyenlőtlenséggel).
Más esetÍgy, a kulcsszó használatával más, a műveletek akkor jelennek meg, ha az érték kifejezések nem egyezik a felsorolt ​​lehetőségek egyikével sem Ügy.

Amint az egyik feltétel megtalálható, a megfelelő műveletek végrehajtásra kerülnek, és a szerkezet kilép. Válassza a Case lehetőséget. Vagyis minden esetben a felsorolt ​​ágak közül csak egy kerül végrehajtásra. Ügy.

További információ a VBA utasítás működéséről Válassza a Case lehetőséget megtalálható a Microsoft Developer Network oldalán.

Hagy egy Válaszol