Podmíněné formátování v aplikaci Excel VBA

V Excelu jsme všichni zvýraznili duplicitní hodnoty pomocí podmíněného formátování. K získání duplicitních hodnot se používá převážně podmíněné formátování. Můžeme zdůraznit duplicitní hodnoty mnoha způsoby. Můžeme zvýraznit duplicitní hodnoty, hodnoty specifické pro rozsah a také můžeme definovat pravidlo pro dokončení kritérií formátování. Níže jsou uvedeny proměnné funkce dostupné v podmíněném formátování.

Ale co když dokážeme automatizovat tento proces zvýrazňování duplikátů nebo jakýchkoli hodnot podle našeho požadavku. Kritéria, která můžeme definovat pomocí podmíněného formátování v Excelu, lze také provést ve VBA. Pro použití podmíněného formátování můžeme vybrat jakoukoli buňku, rozsah dostupný v listu Excel. Podmíněné formátování funguje, pouze pokud definovaná kritéria splňují požadavek. Jinak to nebude vykazovat žádnou změnu barvy. Pomocí podmíněného formátování ve VBA můžeme změnit barvu jakékoli buňky nebo obsahu buňky, odstranit barvu buňky nebo také odstranit barvu. Kromě změny barvy buňky můžeme změnit obsah buňky na tučné nebo kurzívou . Jakmile to uděláme, můžeme všechny změny vrátit zpět.

Jak používat podmíněné formátování v aplikaci Excel VBA?

Níže jsou uvedeny různé příklady použití funkce Podmíněné formátování v Excelu pomocí kódu VBA.

Zde si můžete stáhnout tuto šablonu Excel s podmíněným formátováním VBA - šablonu Excel s podmíněným formátováním VBA

Podmíněné formátování VBA - Příklad č. 1

Máme údaje o některých číslech a textu, jak je uvedeno níže ve sloupcích A a B. Nyní jsme již kategorizovali barvu, kterou musíme dát číslu a textu, který je v buňce D2. Identifikovali jsme žlutou barvu pro číslo 1 a abecedu A a zelenou barvu pro číslo 2 a abecedu B.

Ačkoli podmíněné formátování VBA lze implementovat v modulu, ale zápis kódu pro podmíněné formátování do listu způsobí, že kód bude fungovat pouze v tomto listu. Za tímto účelem namísto přechodu na možnost Modul vložte modul kliknutím na kartu Vložit.

Krok 1: Nyní od prvního rozevíracího seznamu vyberte Pracovní list, který bude ve výchozím nastavení obecný, az rozevíracího seznamu vyberte automaticky volbu SelectionChange, jak je ukázáno níže.

Krok 2: Jakmile to uděláme, automaticky se aktivuje soukromá podkategorie a cílová buňka bude jako Range.

Kód:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) End Sub 

Krok 3: Nyní napište kód nejprve definujte proměnnou MyRange jako Range . Nebo si můžete zvolit libovolné jiné jméno místo MyRange podle svého výběru.

Kód:

 Private Sub Worksheet_SelectionChange (ByVal Target as Range) Dim MyRange jako Range End Sub 

Krok 4: Použijte Set a zvolte definovaný rozsah, jak je ukázáno níže.

Kód:

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

Krok 5: Poté vyberte list, ve kterém chceme použít podmíněné formátování. Náš list je List1. Můžeme dát sekvenci také jako 1 místo psaní List1. A pak vyberte rozsah těch buněk, které potřebujeme naformátovat. Zde je náš sortiment od buňky A1 do 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: Nyní otevřete smyčku pro každou další, jak je ukázáno níže. A začněte tím, že vyberete proměnnou definovanou buňkou MyRange .

Kód:

 Private Sub Worksheet_SelectionChange (ByVal Target as Range) Dim MyRange As Range Set MyRange = Worksheet ("Sheet1"). Range ("A1: B8") pro každou buňku v MyRange Next End Sub 

Krok 7: Nyní v tom znovu otevřete smyčku If-Else.

Kód:

 Private Sub Worksheet_SelectionChange (ByVal Target as Range) Dim MyRange As Range Set MyRange = Worksheet ("Sheet1"). Range ("A1: B8") pro každou buňku v MyRange, pokud končí, pokud další End Sub 

To je oblast, kde bychom barvy přiřadili všem číslům a abecedám, které jsou v naší nabídce.

Krok 8: Napište kód, pokud je hodnota buňky 1, pak barva interiéru, bude vybrána buňka rozsahu, která je od A1 do B8, zelená. A pro zelenou máme barevný kód přiřazený jako 6.

Kód:

 Private Sub Worksheet_SelectionChange (ByVal Target as Range) Dim MyRange As Range Set MyRange = Worksheet ("Sheet1"). Range ("A1: B8") pro každou buňku v MyRange, pokud Cell.Value jako "1" Then Cell.Interior.ColorIndex = 6 End If Next End Sub 

Krok 9: Nyní pro číslo buňky číslo 2. Jinak, pokud je hodnota buňky kterékoli buňky z vybraného rozsahu 2, pak bude vnitřní barva této buňky žlutá. A pro žlutou máme barevný kód přiřazený jako 4.

Kód:

 Private Sub Worksheet_SelectionChange (ByVal Target as Range) Dim MyRange As Range Set MyRange = Worksheet ("Sheet1"). Range ("A1: B8") pro každou buňku v MyRange, pokud Cell.Value jako "1" Then Cell.Interior.ColorIndex = 6 ElseIf Cell.Value jako "2", pak Cell.Interior.ColorIndex = 4 End If Next End Sub 

Pro každou barvu máme přiřazeny různé barevné kódy, které začínají od 1 do 56. Zatímco číselný kód 1 je přiřazen černé barvě a číslo 56 je přiřazeno tmavě šedé barvě. Mezi tím máme různé jiné barevné odstíny, které můžeme najít v dokumentech Microsoft.

Krok 10: Pokud některá z výše uvedených

podmínka je FALSE, pak bychom měli další Else, pokud podmínka, pokud je-li hodnota buňky A, pak bude vnitřní barva buňky žlutá. A pro žlutou opět přidělíme kód jako 6.

Kód:

 Private Sub Worksheet_SelectionChange (ByVal Target as Range) Dim MyRange As Range Set MyRange = Worksheet ("Sheet1"). Range ("A1: B8") pro každou buňku v MyRange, pokud Cell.Value jako "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 

Krok 11: Totéž proveďte pro hodnotu buňky B, s barevným kódem 4 jako Zelená.

Kód:

 Private Sub Worksheet_SelectionChange (ByVal Target as Range) Dim MyRange As Range Set MyRange = Worksheet ("Sheet1"). Range ("A1: B8") pro každou buňku v MyRange, pokud Cell.Value jako "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: Pokud některá z podmínek není PRAVDA, pak pro Else budeme preferovat barevný kód jako Žádný .

Kód:

 Private Sub Worksheet_SelectionChange (ByVal Target as Range) Dim MyRange As Range Set MyRange = Worksheet ("Sheet1"). Range ("A1: B8") pro každou buňku v MyRange, pokud Cell.Value jako "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 = xlNen End If Next End Sub 

Krok 13: Protože je kód velký, zkompilujte každý krok kódu stisknutím funkční klávesy F8. Pokud nebyla nalezena žádná chyba, klikněte na tlačítko přehrát a celý kód najednou spusťte. Uvidíme, podle pravidla podmíněného formátování definovaného v kódu VBA, barva buněk byla změněna na vybrané barevné kódy, jak je ukázáno níže.

Krok 14: Toto formátování je nyní opraveno. Pokud chceme vidět změny v barvě, pro test změňme hodnotu libovolné buňky zvažte A1 od 1 do 2. Uvidíme, barva buňky A1 se změní na zelenou.

Je to proto, že jsme prohlásili, že v rozsahu A1 až B8 bude každá buňka obsahující čísla 1 a 2 a abecedy A a B formátována jako žlutá a zelená barva, jak je ukázáno v buňce D2 až E3.

Výhody a nevýhody

  • Pokud máme obrovská data, dává okamžitý výstup. Zatímco pokud použijeme totéž z možnosti nabídky Excel, bude nějakou dobu trvat, než se zformátuje formát velkých dat.
  • Můžeme také provádět všechny typy funkcí, které jsou k dispozici v Excelu pro podmíněné formátování ve VBA.
  • Nedoporučuje se používat pro malé soubory dat podmíněné formátování VBA.

Co si pamatovat

  • Kromě zvýraznění duplikátů a buněk stejné hodnoty existuje mnoho dalších funkcí. Můžeme změnit formát buňky jakýmkoli způsobem, jako je tučné písmo, kurzíva, změna barvy písma, změna barvy pozadí, zvýraznění hodnot mezi určitým konkrétním rozsahem.
  • Po použití podmíněného formátování můžeme pravidlo změnit, ve skutečnosti můžeme smazat i podmínky formátování. Aby se naše data vrátila k normálu.
  • V jednom makru můžeme použít více než jednu podmínku.

Doporučené články

Toto je průvodce podmíněným formátováním VBA. Zde diskutujeme o tom, jak používat funkci podmíněného formátování Excel VBA spolu s praktickými příklady a šablonou Excel ke stažení. Můžete si také prohlédnout naše další doporučené články -

  1. Funkce kopírování vložit ve VBA
  2. Funkce podstrčení Excel
  3. VBA index mimo rozsah
  4. Excel ISNUMBER vzorec
  5. Podmíněné formátování dat v Excelu

Kategorie: