Podmienené formátovanie v programe Excel VBA

Vo vynikajúcej miere sme všetci používali podmienené formátovanie na zvýraznenie duplicitných hodnôt. Na získanie duplicitných hodnôt sa používa prevažne podmienené formátovanie. Môžeme zdôrazniť duplicitné hodnoty mnohými spôsobmi. Môžeme zvýrazniť duplicitné hodnoty, hodnoty špecifické pre rozsah a tiež môžeme definovať pravidlo na dokončenie kritérií formátovania. Nižšie sú uvedené rôzne funkcie dostupné v časti Podmienené formátovanie.

Čo ak však dokážeme automatizovať tento proces zvýrazňovania duplikátov alebo akýchkoľvek hodnôt podľa našich požiadaviek. Kritériá, ktoré môžeme definovať pomocou podmieneného formátovania v programe Excel, sa dajú vykonať aj vo VBA. Pre použitie podmieneného formátovania môžeme zvoliť ľubovoľnú bunku, rozsah dostupný v pracovnom hárku programu Excel. Podmienené formátovanie funguje, len ak definované kritériá spĺňajú požiadavku. Inak to nebude vykazovať žiadne zmeny farby. Pomocou podmieneného formátovania vo VBA môžeme zmeniť farbu akejkoľvek bunky alebo obsahu bunky, odstrániť farbu bunky alebo tiež odstrániť farbu. Okrem zmeny farby bunky môžeme zmeniť jej obsah na tučné písmo alebo kurzívu . Po dokončení môžeme všetky zmeny vrátiť späť.

Ako používať podmienené formátovanie v programe Excel VBA?

Nižšie sú uvedené rôzne príklady použitia funkcie podmieneného formátovania v programe Excel pomocou kódu VBA.

Túto šablónu Excel s podmieneným formátovaním VBA si môžete stiahnuť tu - šablónu Excel s podmienečným formátovaním VBA

Podmienené formátovanie VBA - príklad č. 1

Máme údaje o niektorých číslach a texte, ako je uvedené nižšie v stĺpcoch A a B. Teraz sme už kategorizovali farbu, ktorú musíme dať číslu a textu, ktorý je v bunke D2. Identifikovali sme žltú farbu pre číslo 1 a abecedu A a zelenú farbu pre číslo 2 a abecedu B.

Hoci podmienené formátovanie VBA možno implementovať v module, zápis kódu pre podmienené formátovanie v hárku spôsobí, že kód bude fungovať iba v tomto hárku. Namiesto toho, aby ste prešli na možnosť Modul, kliknite na kartu Vložiť a vložte modul.

Krok 1: Teraz od prvého rozbaľovacieho zoznamu zvoľte Pracovný hárok, ktorý bude štandardne štandardný a z rozbaľovacieho zoznamu automaticky vyberie možnosť SelectionChange, ako je to znázornené nižšie.

Krok 2: Akonáhle to urobíme, automaticky sa aktivuje súkromná podkategória a cieľová bunka bude ako Range.

kód:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) End Sub 

Krok 3: Teraz napíšte kód a najskôr definujte premennú MyRange ako Range . Alebo si môžete zvoliť akékoľvek iné meno namiesto MyRange podľa vášho výberu.

kód:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim MyRange ako Range End Sub 

Krok 4: Použite Set a vyberte definovaný rozsah, ako je uvedené nižšie.

kód:

 Private Sub Worksheet_SelectionChange (ByVal Target as Range) Dim MyRange As Range Set MyRange = End Sub 

Krok 5: Potom vyberte pracovný hárok, v ktorom chceme použiť podmienené formátovanie. Náš list je List1. Namiesto písania Sheet1 môžeme dať sekvenciu aj ako 1. Potom vyberte rozsah buniek, ktoré musíme naformátovať. Tu je náš sortiment od bunky A1 po B8.

kód:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim MyRange As Range Set MyRange = Worksheet ("Sheet1"). Range ("A1: B8") End Sub 

Krok 6: Teraz otvorte slučku For Every-Next, ako je to znázornené nižšie. A začnite s výberom premennej definovanej pre bunky MyRange .

kód:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim MyRange As Range Set MyRange = Worksheet ("Sheet1"). Range ("A1: B8") pre každú bunku v MyRange Next End Sub 

Krok 7: Teraz znova otvorte slučku If-Else.

kód:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim MyRange As Range Set MyRange = Pracovné hárky ("Sheet1"). Range ("A1: B8") pre každú bunku v MyRange, ak končí, ak je nasledujúca. 

Toto je oblasť, v ktorej by sme farby priraďovali všetkým číslam a abecedám, ktoré sú k dispozícii v našom sortimente.

Krok 8: Napíšte kód, ak je hodnota bunky 1, potom farba interiéru, zvolená bunka rozsahu, ktorá je od A1 po B8, bude zelená. A pre zelenú máme priradený farebný kód ako 6.

kód:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim MyRange As Range Set MyRange = Worksheet ("Sheet1"). Range ("A1: B8") Pre každú bunku v MyRange, ak Cell.Value Like "1" Then Cell.Interior.ColorIndex = 6 End If Next End Sub 

Krok 9: Teraz pre číslo bunky 2. V opačnom prípade, ak je hodnota bunky ľubovoľnej bunky zo zvoleného rozsahu 2, bude jej vnútorná farba žltej farby. A pre žltú máme farebný kód priradený ako 4.

kód:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim MyRange As Range Set MyRange = Worksheet ("Sheet1"). Range ("A1: B8") Pre každú bunku v MyRange, ak Cell.Value Like "1" Then Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "2" Then Cell.Interior.ColorIndex = 4 End If Next End Sub Sub 

Pre každú farbu máme priradené rôzne farebné kódy, ktoré začínajú od 1 do 56. Zatiaľ čo číselný kód 1 je priradený k čiernej farbe a číslo 56 je priradené k tmavošedej farbe. Medzi tým máme rôzne iné farebné odtiene, ktoré môžeme nájsť v dokumentoch spoločnosti Microsoft.

Krok 10: Ak niektorá z vyššie uvedených možností

podmienka je FALSE, potom by sme mali ďalšiu Else, ak podmienka, ak ak je hodnota bunky A, potom bude farba interiéru bunky žltá. A opäť žltej pridelíme kód ako 6.

kód:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim MyRange As Range Set MyRange = Worksheet ("Sheet1"). Range ("A1: B8") Pre každú bunku v MyRange, ak Cell.Value Like "1" Then Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "2" Then Cell.Interior.ColorIndex = 4 ElseIf Cell.Value Like "A" Then Cell.Interior.ColorIndex = 6 End If Next End Sub Sub 

Krok 11: Rovnakú vec urobte aj pre bunkovú hodnotu B, s farebným kódom 4 ako zelenú.

kód:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim MyRange As Range Set MyRange = Worksheet ("Sheet1"). Range ("A1: B8") Pre každú bunku v MyRange, ak Cell.Value Like "1" Then Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "2" Then Cell.Interior.ColorIndex = 4 ElseIf Cell.Value Like "A" Then Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "B" Then Cell.Interior.ColorIndex = 4 End If Next End Sub 

Krok 12: Ak niektorá z podmienok nie je PRAVDIVÁ, pre Else budeme preferovať farebný kód ako Žiadny .

kód:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim MyRange As Range Set MyRange = Worksheet ("Sheet1"). Range ("A1: B8") Pre každú bunku v MyRange, ak Cell.Value Like "1" Then Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "2" Then Cell.Interior.ColorIndex = 4 ElseIf Cell.Value Like "A" Then Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "B" Then Cell.Interior.ColorIndex = 4 Else Cell.Ineterios.ColorIndex = xlŽiadny koniec, ak je nasledujúci koniec Sub 

Krok 13: Keď je kód veľký, na zostavenie každého kroku kódu stlačte funkčné tlačidlo F8. Ak sa nenájde žiadna chyba, kliknutím na tlačidlo Prehrať spustíte celý kód naraz. Uvidíme, podľa pravidla podmieneného formátovania definovaného v kóde VBA sa farba buniek zmenila na vybrané farebné kódy, ako je uvedené nižšie.

Krok 14: Toto formátovanie je teraz opravené. Ak chceme vidieť zmeny farby, pre skúšku zmeňme hodnotu ktorejkoľvek bunky zvážte A1 od 1 do 2. Uvidíme, farba bunky A1 sa zmení na zelenú.

Je to preto, že sme vyhlásili, že v rozsahu A1 až B8 budú všetky bunky obsahujúce čísla 1 a 2 a abecedy A a B formátované ako žltá a zelená farba, ako je to znázornené v bunkách D2 až E3.

Klady a zápory

  • Poskytuje okamžitý výstup, ak máme obrovské údaje. Zatiaľ čo ak použijeme to isté z ponuky programu Excel, bude chvíľu trvať, kým sa vymaže formátovanie veľkých množín údajov.
  • Môžeme vykonávať všetky typy funkcií, ktoré sú k dispozícii v Exceli pre Podmienené formátovanie aj vo VBA.
  • Neodporúča sa používať podmienené formátovanie VBA pre malú množinu údajov.

Čo je potrebné pamätať

  • Okrem zvýrazňovania duplikátov a buniek rovnakej hodnoty existuje mnoho ďalších funkcií. Formát bunky môžeme zmeniť akýmkoľvek spôsobom, napríklad tučným písmom, kurzívou, zmenou farby písma, zmenou farby pozadia a zvýraznením hodnôt medzi určitým špecifickým rozsahom.
  • Po použití podmieneného formátovania môžeme toto pravidlo zmeniť, v skutočnosti môžeme tiež odstrániť podmienky formátovania. Naše údaje sa vrátia k normálu.
  • V jednom makre môžeme použiť viac ako jednu podmienku.

Odporúčané články

Toto je sprievodca podmienečným formátovaním VBA. Tu diskutujeme o tom, ako používať funkciu Excel VBA Podmienené formátovanie spolu s praktickými príkladmi a stiahnuteľnou šablónou programu Excel. Môžete si tiež prečítať naše ďalšie navrhované články -

  1. Kopírovať funkciu vloženia vo VBA
  2. Funkcia podčiarknutia Excel
  3. Dolný index VBA je mimo rozsahu
  4. Excel ISNUMBER vzorec
  5. Podmienené formátovanie dátumov v Exceli

Kategórie: