Pogojno oblikovanje v Excelu VBA

V excelu smo vsi uporabili pogojno oblikovanje za poudarjanje podvojenih vrednosti. Za pridobivanje podvojenih vrednosti se uporablja pretežno pogojno oblikovanje. Podvojene vrednosti lahko izpostavimo na več načinov. Izpostavimo lahko podvojene vrednosti, vrednosti, specifične za obseg in lahko tudi določimo pravilo za dokončanje meril oblikovanja. Spodaj so spremenljive funkcije, ki so na voljo v pogojnem oblikovanju.

Kaj pa, če bomo lahko avtomatizirali ta postopek označevanja dvojnikov ali kakršnih koli vrednosti po naših zahtevah. Merila, ki jih lahko določimo z uporabo pogojnega oblikovanja v Excelu, lahko izvedemo tudi v VBA. Za uporabo pogojnega oblikovanja lahko izberemo katero koli celico, obseg, ki je na voljo v Excelovem delovnem listu. Pogojno oblikovanje deluje le, kadar definirani kriteriji izpolnjujejo zahtevo. Drugače, ne bo pokazalo nobene spremembe barve. S pomočjo pogojnega oblikovanja v VBA lahko spremenimo barvo katere koli celice ali vsebine celice, izbrišemo barvo celice ali odstranimo tudi barvo. Poleg spreminjanja barve celice lahko vsebino celice spremenimo v krepko ali ležeče besedilo. Ko končamo, lahko tudi vse spremembe razveljavimo.

Kako uporabljati pogojno oblikovanje v Excelu VBA?

Spodaj so različni primeri uporabe funkcije pogojnega oblikovanja v Excelu z uporabo kode VBA.

To VSE predlogo za pogojno oblikovanje VBA lahko prenesete tukaj - VBA Pogojno oblikovanje predloge Excela

Pogojno oblikovanje VBA - Primer 1

Podatki nekaterih številk in besedila so prikazani spodaj v stolpcih A in B. Zdaj smo že razvrstili barvo, ki jo moramo dati številki in besedilu, ki je v celici D2. Za številko 1 in abecedo A smo prepoznali rumeno barvo in zeleno barvo za številko 2 in abecedo B.

Čeprav je pogojno oblikovanje VBA mogoče implementirati v modulu, vendar bo pisanje kode za pogojno oblikovanje v listo koda delovalo samo na tem listu. Za to namesto možnosti Module kliknite jeziček Vstavi, da vstavite modul.

Korak 1: Zdaj v prvem spustnem meniju izberite Delovni list, ki bo privzeto splošen, nato pa iz spustnega seznama samodejno izberite možnost SelectionChange, kot je prikazano spodaj.

Korak 2: Ko to storimo, bo samodejno aktiviral zasebno podkategorijo in ciljna celica bi bila kot obseg.

Koda:

 Zasebni poddelovni list_SelectionChange (ByVal Target As Range) Konec Sub 

Korak 3: Zdaj napišite kodo, najprej določite spremenljivko MyRange kot obseg . Lahko pa izberete katero koli drugo ime namesto MyRange po vaši izbiri.

Koda:

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

4. korak: Uporabite Set in izberite definiran obseg, kot je prikazano spodaj.

Koda:

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

5. korak: Po tem izberite delovni list, kjer želimo uporabiti pogojno oblikovanje. Tu je naš list Sheet1. Zaporedje lahko postavimo tudi kot 1, namesto da pišemo Sheet1. Nato izberite obseg tistih celic, ki jih moramo formatirati. Naš razpon je od celice A1 do B8.

Koda:

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

6. korak: Odprite zanko Za vsako naslednjo, kot je prikazano spodaj. In začnite to z izbiro spremenljivke MyRange, definirane v celici .

Koda:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim MyRange As Range Set MyRange = Delovni listi ("Sheet1"). Obseg ("A1: B8") za vsako celico v MyRange Next End Sub 

7. korak: Zdaj v tem primeru ponovno odprite zanko If-Else.

Koda:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim MyRange As Range Set MyRange = Delovni listi ("Sheet1"). Obseg ("A1: B8") Za vsako celico v MyRange, če se konča, če Next End Sub 

To je regija, kjer bi barve dodeljevali vsem številkam in abecedam, ki so na voljo v naši ponudbi.

Korak 8: Napišite kodo, če je vrednost celice enaka 1-barva Notranjost, bo celica izbranega obsega, ki je od A1 do B8, zelena. In za zeleno imamo kodo barve dodeljeno kot 6.

Koda:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim MyRange As Set Range MyRange = Delovni listi ("Sheet1"). Obseg ("A1: B8") Za vsako celico v MyRange If Cell.Value Like "1", potem Cell.Interior.ColorIndex = 6 konec, če je naslednji konec pod 

Korak 9: Zdaj za vrednost številke celice 2. Drugače je, če je vrednost celice iz izbranega obsega 2, potem bo notranja barva te celice rumena. In za rumeno imamo barvno kodo, ki ji je dodeljena kot 4.

Koda:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim MyRange As Set Range MyRange = Delovni listi ("Sheet1"). Obseg ("A1: B8") Za vsako celico v MyRange If Cell.Value Like "1", potem Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "2", potem Cell.Interior.ColorIndex = 4 konec, če naslednji konec pod 

Za vsako barvo imamo dodeljene različne barvne kode, ki se začnejo od 1 do 56. ker je številka 1 dodeljena črni barvi, številka 56 pa temno sivi barvi. Vmes imamo različne druge barvne odtenke, ki jih najdemo iz Microsoftovih dokumentov.

10. korak: Če je kaj od zgoraj navedenega

pogoj je NAVADNO, potem bi imeli še en Else, če je pogoj, če je vrednost celice A, potem bo notranja barva celice rumena. In za rumeno ponovno bomo dodelili kodo kot 6.

Koda:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim MyRange As Set Range MyRange = Delovni listi ("Sheet1"). Obseg ("A1: B8") Za vsako celico v MyRange If Cell.Value Like "1", potem Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "2", potem Cell.Interior.ColorIndex = 4 ElseIf Cell.Value Like "A", potem Cell.Interior.ColorIndex = 6 konec, če naslednji konec Sub 

11. korak: Enako storite tudi za vrednost celice B z barvno kodo 4 kot Zelena.

Koda:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim MyRange As Set Range MyRange = Delovni listi ("Sheet1"). Obseg ("A1: B8") Za vsako celico v MyRange If Cell.Value Like "1", potem Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "2", potem Cell.Interior.ColorIndex = 4 ElseIf Cell.Value Like "A", potem Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "B", potem Cell.Interior.ColorIndex = 4 Konec Če Naslednji konec Sub 

12. korak: Če kateri koli pogoj ni TRUE, potem bomo za Else raje izbrali barvno kodo kot None .

Koda:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim MyRange As Set Range MyRange = Delovni listi ("Sheet1"). Obseg ("A1: B8") Za vsako celico v MyRange If Cell.Value Like "1", potem Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "2", potem Cell.Interior.ColorIndex = 4 ElseIf Cell.Value Like "A", potem Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "B", potem Cell.Interior.ColorIndex = 4 Else Cell.Ineterios.ColorIndex = xlNi konec, če Naslednji konec Sub 

Korak 13: Ker je koda velika, za sestavljanje vsakega koraka kode pritisnite funkcijsko tipko F8. Če napake ni mogoče najti, kliknite gumb za predvajanje, da zaženete celotno kodo naenkrat. Videli bomo, da je glede na pravilo pogojnega oblikovanja, opredeljeno v kodi VBA, barva celic spremenjena v izbrane barvne kode, kot je prikazano spodaj.

14. korak: To oblikovanje je zdaj popravljeno. Če želimo videti spremembe v barvi, spremenimo vrednost katere koli celice, če upoštevamo, A1 z 1 na 2. Videli bomo, da je barva celice A1 spremenjena v zelena.

To je zato, ker smo izjavili, da bo v območju od A1 do B8 vsaka celica, ki vsebuje številki 1 in 2 ter abecede A in B, oblikovana kot rumena in zelena barva, kot je prikazano v celicah D2 do E3.

Prednosti in slabosti

  • Če imamo ogromno podatkov, daje takojšen izhod. Če bomo uporabili isto v meniju programa Excel, bo trajalo nekaj časa, da zbrišemo oblikovanje velikega nabora podatkov.
  • Izvajamo lahko vse vrste funkcij, ki so na voljo v Excelu za pogojno oblikovanje tudi v VBA.
  • Za majhen nabor podatkov ni priporočljivo uporabljati pogojnega oblikovanja VBA.

Stvari, ki jih je treba zapomniti

  • Poleg označevanja dvojnikov in enakih vrednostnih celic je veliko drugih funkcij. Obliko celice lahko spremenimo na kakršen koli način, na primer krepko, poševno besedilo, spremenimo barvo pisave, spremenimo barvo ozadja, poudarimo vrednosti med določenim razponom.
  • Ko uporabimo pogojno oblikovanje, lahko spremenimo pravilo, pravzaprav lahko tudi pogoje za oblikovanje izbrišemo. Tako da se bodo naši podatki vrnili v normalno stanje.
  • V enem makrou lahko uporabimo več pogojev.

Priporočeni članki

To je vodnik za pogojno oblikovanje VBA. Tukaj smo razpravljali o uporabi funkcije Excel VBA Pogojno oblikovanje skupaj s praktičnimi primeri in naložljivo predlogo Excela. Ogledate si lahko tudi druge naše predlagane članke -

  1. Kopiraj prilepi funkcijo v VBA
  2. Funkcija podvrsti Excela
  3. Naročnik VBA izven dosega
  4. Excel ISNUMBER Formula
  5. Pogojno oblikovanje datumov v Excelu

Kategorija: