Feltételes formázás az Excel VBA-ban

Excelben mindannyian feltételes formázást használtunk az ismétlődő értékek kiemelésére. Az ismétlődő értékek előállításához főleg feltételes formázást használnak. Az ismétlődő értékeket számos módon kiemelhetjük. Kiemelhetjük az ismétlődő értékeket, a tartomány-specifikus értékeket, és meghatározhatjuk a szabályt a formázási kritériumok teljesítéséhez. Az alábbiakban a Feltételes formázás alatt elérhető változó funkciók találhatók.

De mi lenne, ha automatizálhatnánk ezt a folyamatot, amelyben kettős vagy bármilyen értéket kiemelnénk a követelményünk szerint. Azokat a kritériumokat, amelyeket az Excelben a Feltételes formázás segítségével meghatározhatunk, a VBA-ban is meg lehet tenni. A feltételes formázás alkalmazásához bármilyen cellát választhatunk, amely elérhető az Excel munkalapon. A feltételes formázás csak akkor működik, ha a meghatározott kritériumok megfelelnek a követelményeknek. Egyébként nem fog változni színben. A VBA feltételes formázása segítségével megváltoztathatjuk bármelyik cella vagy cellatartalom színét, törölhetjük a cella színét, vagy eltávolíthatjuk a színt is. A cella színének megváltoztatásán kívül a cella tartalmát félkövér vagy dőlt szövegré is változtathatjuk. Ha készen állunk, az összes változást is visszavonhatjuk.

Hogyan használhatjuk a feltételes formázást az Excel VBA-ban?

Az alábbiakban bemutatjuk azokat a különféle példákat, amelyekkel a feltételes formázási függvényt Excelben VBA-kóddal használhatjuk.

Itt letöltheti ezt a VBA feltételes formázási Excel sablont - VBA feltételes formázási Excel sablon

VBA feltételes formázás - 1. példa

Van néhány szám és szöveg adata, amint azt az A és B oszlop mutatja. Most már besoroltuk a színt, amelyet a D2 cellában lévő számhoz és szöveghez meg kell adnunk. Az 1. számhoz és az A ábécéhez sárga szín, a 2. számhoz és a B. ábécéhez zöld szín azonosítottunk.

Bár a VBA feltételes formázást a modulban is megvalósíthatjuk, de a feltételes formázás kódjának a Sheetbe írása a kódot csak abban a lapon fogja működni. Ehhez a Modul opció helyett kattintson a Beszúrás fülre a modul beszúrásához.

1. lépés: Most az első legördülő menüből válassza a Munkalapot, amely alapértelmezés szerint általános lesz, és a kiválasztott legördülő menüből automatikusan kiválasztja a SelectionChange opciót, az alább látható módon.

2. lépés: Ha ezt megtesszük, akkor automatikusan aktiváljuk a privát alkategóriát, és a Cél cella tartománynak felel meg.

Kód:

 Privát al munkalap_választásVáltozás (ByVal Cél mint tartomány) Vége Al 

3. lépés: Most írja be a kódot, először határozza meg a MyRange változót tartományként . Vagy a MyRange helyett bármilyen más nevet választhat.

Kód:

 Privát allap Munkalap_választásVáltozás (ByVal cél mint tartomány) Dim MyRange as Range End Sub 

4. lépés: A Set használatával válassza ki a megadott tartományt az alább látható módon.

Kód:

 Privát al-munkalap_SelectionChange (ByVal cél mint tartomány) tompítja MyRange mint tartomány beállítva MyRange = Vége az al 

5. lépés: Ezután válassza ki a Munkalapot, ahol alkalmazni akarjuk a feltételes formázást. Itt a Sheet1 lap található. A szekvenciát 1-ként is megadhatjuk, a Sheet1 írása helyett. Ezután válassza ki a formázandó cellák tartományát. Itt a tartományunk az A1-től B8-ig terjed.

Kód:

 Privát al-munkalap_SelectionChange (ByVal cél mint tartomány) Halvány MyRange as Range Set MyRange = Munkalapok ("Sheet1"). Range ("A1: B8") End sub 

6. lépés: Most nyisson meg minden egyes-következő hurkot az alább látható módon. Kezdje ezzel a cella által definiált MyRange változó kiválasztásával .

Kód:

 Saját rész Munkalap_SelectionChange (ByVal Cél mint tartomány) Elem MyRange As Range Set MyRange = Munkalapok ("Sheet1"). Range ("A1: B8") minden cella számára a MyRange Következő vége al 

7. lépés: Most nyissa meg újra az If-Else hurkot.

Kód:

 Privát al-munkalap_SelectionChange (ByVal cél mint tartomány) Elem MyRange as Range beállítása MyRange = Munkalapok ("Sheet1"). Range ("A1: B8") minden MyRange cellában, ha vége, ha a következő vége Sub 

Ez a régió, ahol a színeket hozzárendeljük a tartományban lévő összes számhoz és ábécéhez.

8. lépés: Írja be a kódot, ha a cella értéke 1, akkor a belső színnel a kiválasztott tartomány cella, amely A1-től B8-ig, zöld lesz. És a zöld színhez 6-os színkód van hozzárendelve.

Kód:

 Privát almunkalap_választásVáltozás (ByVal cél mint tartomány) Eltávolítás MyRange mint tartomány beállítása MyRange = Munkalapok ("Sheet1"). Range ("A1: B8") minden MyRange cellában Ha Cell.Value Like "1", majd Cell.Interior.ColorIndex = 6 Vége, ha a Következő vége al 

9. lépés: Most a 2. cellaértéknél. Ha a kiválasztott tartomány bármelyik cellajának értéke 2, akkor a cella belső színe sárga lesz. És a sárga esetében a színkódot 4-hez rendeltük.

Kód:

 Privát almunkalap_választásVáltozás (ByVal cél mint tartomány) Eltávolítás MyRange mint tartomány beállítása MyRange = Munkalapok ("Sheet1"). Range ("A1: B8") minden MyRange cellában Ha Cell.Value Like "1", majd Cell.Interior.ColorIndex = 6 ElseIf Cell.Value, mint a "2", majd Cell.Interior.ColorIndex = 4 End, ha a Next End Sub 

Mindegyik színhez különféle színkódot rendelünk, amelyek 1-től 56-ig kezdődnek. Míg az 1. számkódot a Fekete színhez, az 56 számot a Sötétszürke színhez rendelik. Közben különféle más színárnyalatok vannak, amelyek megtalálhatók a Microsoft dokumentumokból.

10. lépés: Ha a fentiek valamelyike

feltétel HAMIS, akkor lenne egy másik Még, ha az a feltétel, ahol ha a cella értéke A, akkor a cella belső színe sárga lesz. És a sárgához ismét kódot adunk 6-nak.

Kód:

 Privát almunkalap_választásVáltozás (ByVal cél mint tartomány) Eltávolítás MyRange mint tartomány beállítása MyRange = Munkalapok ("Sheet1"). Range ("A1: B8") minden MyRange cellában Ha Cell.Value Like "1", majd Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "2", majd Cell.Interior.ColorIndex = 4 ElseIf Cell.Value Like "A" majd Cell.Interior.ColorIndex = 6 End if Next End Sub 

11. lépés: Ugyanazt tegye a B cellához is, a 4. színkóddal, mint a zöld.

Kód:

 Privát almunkalap_választásVáltozás (ByVal cél mint tartomány) Eltávolítás MyRange mint tartomány beállítása MyRange = Munkalapok ("Sheet1"). Range ("A1: B8") minden MyRange cellában Ha Cell.Value Like "1", majd Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "2", majd Cell.Interior.ColorIndex = 4 ElseIf Cell.Value Like "A" Then Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "B" majd Cell.Interior.ColorIndex = 4 Vége, ha a Következő vége al 

12. lépés: Ha az egyik feltétel nem igaz, akkor az Else esetében a színkódot inkább Nincs értékre választjuk.

Kód:

 Privát almunkalap_választásVáltozás (ByVal cél mint tartomány) Eltávolítás MyRange mint tartomány beállítása MyRange = Munkalapok ("Sheet1"). Range ("A1: B8") minden MyRange cellában Ha Cell.Value Like "1", majd Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "2", majd Cell.Interior.ColorIndex = 4 ElseIf Cell.Value Like "A" Then Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "B" majd Cell.Interior.ColorIndex = 4 Else Cell.Ineterios.ColorIndex = xlNone End If Next End Sub 

13. lépés: Mivel a kód nagy, a kód minden lépésének lefordításához nyomja meg az F8 funkciógombot. Ha nem található hiba, akkor kattintson a lejátszás gombra a teljes kód egyszeri futtatásához. Látni fogjuk, hogy a VBA-kódban meghatározott feltételes formázási szabály szerint a cellák színét az alábbiak szerint választott színkódokra változtattuk.

14. lépés: Ez a formázás javítva van. Ha látni akarjuk a színváltozást, akkor a teszthez változtassuk meg az A1 cellák értékét 1-ről 2-re. Látni fogjuk, hogy az A1 cella színe zöldre változik.

Ennek oka az, hogy kijelentettük, hogy az A1 – B8 tartományban az 1. és 2. számot, valamint az A és B ábécét tartalmazó cella sárga és zöld színű lesz, a D2 – E3 cella szerint.

Érvek és ellenérvek

  • Azonnali eredményt ad, ha hatalmas adatokkal rendelkezik. Míg ha ugyanezt alkalmazzuk az Excel menüpontból, akkor időbe telik a nagy adatkészlet formázásának törlése.
  • Minden olyan funkciót végrehajthatunk, amely elérhető az Excelben a VBA feltételes formázására is.
  • Nem ajánlott a VBA feltételes formázást alkalmazni kis adatsorra.

Dolgok, amikre emlékezni kell

  • A másolatok és az azonos értékű cellák kiemelésén kívül sok más funkció is létezik. A cella formátumát bármilyen módon megváltoztathatjuk, például félkövér, dőlt szöveget, megváltoztatva a betűtípust, megváltoztatva a háttér színét, kiemelve az értékeket egy adott tartomány között.
  • Amint a feltételes formázást alkalmazzuk, megváltoztathatjuk a szabályt, sőt, a formázási feltételeket is törölhetjük. Annak érdekében, hogy adataink visszatérjenek a normál állapotba.
  • Egy makróban több feltételt is alkalmazhatunk.

Ajánlott cikkek

Ez egy útmutató a VBA feltételes formázásához. Itt tárgyaljuk, hogyan lehet használni az Excel VBA Feltételes formázás funkciót, a gyakorlati példákkal és a letölthető Excel sablonnal együtt. Megnézheti más javasolt cikkeinket -

  1. Másolás beillesztés funkció a VBA-ban
  2. Az Excel függvény alsávja
  3. A VBA felirat a tartományon kívül esik
  4. Excel ISNUMBER Formula
  5. Dátum feltételes formázása Excelben

Kategória: