Uvjetno oblikovanje u Excelu VBA

U excelu, svi smo koristili uvjetno oblikovanje za isticanje dupliciranih vrijednosti. Za dobivanje duplikata vrijednosti koristi se uglavnom uvjetno oblikovanje. Duplirajuće vrijednosti možemo istaknuti na više načina. Možemo istaknuti duplicirane vrijednosti, vrijednosti specifične za raspon, a također možemo definirati pravilo za dovršavanje kriterija oblikovanja. Ispod su funkcije varijable koje su dostupne u uvjetnom oblikovanju.

Ali što ako taj proces isticanja duplikata ili bilo koje vrste vrijednosti automatiziramo prema našem zahtjevu. Kriteriji koje možemo definirati pomoću uvjetnog oblikovanja u Excelu mogu se izvršiti i u VBA. Za primjenu uvjetnog oblikovanja možemo odabrati bilo koju ćeliju, raspon dostupan u Excel-ovom radnom listu. Uvjetno oblikovanje funkcionira samo kad definirani kriteriji ispunjavaju zahtjev. Inače, neće pokazati nikakvu promjenu boje. Uz pomoć uvjetnog oblikovanja u VBA možemo promijeniti boju bilo koje ćelije ili sadržaja stanice, izbrisati boju ćelije ili ukloniti i boju. Osim što mijenjamo boju ćelije, sadržaj ćelije možemo promijeniti u podebljani ili Italic tekst. Nakon završetka možemo poništiti i sve promjene.

Kako se upotrebljava uvjetno oblikovanje u Excelu VBA?

Ispod su sljedeći primjeri za korištenje funkcije uvjetnog oblikovanja u Excelu pomoću VBA koda.

Možete preuzeti ovaj VBA uvjetni oblik oblikovanja Excel predloška ovdje - VBA uvjetno oblikovanje Excel predloška

VBA uvjetno oblikovanje - Primjer # 1

Imamo podatke nekih brojeva i teksta kako su dolje prikazani u stupcima A i B. Sada smo već kategorizirali boju koju trebamo dati broju i tekstu koji se nalazi u ćeliji D2. Identificirali smo žutu boju za broj 1 i abecedu A i zelenu za broj 2 i abecedu B.

Iako se VBA uvjetno oblikovanje može implementirati u modulu, ali pisanje koda za uvjetno oblikovanje u listu učiniće da kod funkcionira samo na tom listu. Za to, umjesto da odete na opciju Modul, kliknite karticu Umetanje za umetanje modula.

Korak 1: Sada iz prvog padajućeg izbornika odaberite Radni list koji će prema zadanjima biti Općenito, a iz padajućeg izbornika automatski će odabrati opciju SelectionChange kao što je prikazano u nastavku.

Korak 2: Jednom kada to učinimo, automatski će se aktivirati privatna podkategorija i ciljna ćelija biti će biti raspon.

Kodirati:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) Kraj Sub 

Korak 3: Sada napišite kod najprije definirajte varijablu MyRange kao raspon . Ili možete odabrati bilo koje drugo ime umjesto MyRangea po vašem izboru.

Kodirati:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim MyRange Kao raspon Kraj Sub 

Korak 4: Upotrijebite Set i odaberite definirani raspon kao što je prikazano u nastavku.

Kodirati:

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

Korak 5: Nakon toga odaberite radni list na koji želimo primijeniti uvjetno oblikovanje. Ovdje je naš list Sheet1. Slijed možemo staviti i kao 1 umjesto pisanja Sheet1. A zatim odaberite raspon onih ćelija koje trebamo formatirati. Ovdje je naš raspon od ćelije A1 do B8.

Kodirati:

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

Korak 6: Sada otvorite petlju For Every-Next kao što je prikazano u nastavku. I započnite s odabirom varijable MyRange definirane ćelijom .

Kodirati:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim MyRange As Range Set MyRange = Radni listovi ("Sheet1"). Raspon ("A1: B8") za svaku ćeliju u MyRange Next End Sub 

Korak 7: Sada u tome opet otvorite If-Else petlju.

Kodirati:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim MyRange kao raspon raspona MyRange = Radni listovi ("Sheet1"). Raspon ("A1: B8") za svaku ćeliju u MyRangeu ako kraj ako Next Next Sub 

Ovo je regija kojoj bismo boje dodijelili svim brojevima i alfabetima koji su dostupni u našem asortimanu.

Korak 8: Napišite kôd, ako je vrijednost ćelije 1 tada - Boja unutarnjeg dijela odabrana ćelija raspona koja je od A1 do B8 biti zelena. A za zelenu imamo kod boje koji joj je dodijeljen kao 6.

Kodirati:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim MyRange as Set Range MyRange = Radni listovi ("Sheet1"). Raspon ("A1: B8") Za svaku ćeliju u MyRange If Cell.Value Like "1", zatim Cell.Interior.ColorIndex = 6 Kraj ako je Kraj Kraj Sub 

Korak 9: Sada za vrijednost ćelije broj 2. Inače ako je vrijednost stanice bilo koje ćelije iz odabranog raspona 2, tada će unutarnja boja te ćelije biti Žuta. A za žutu imamo kod boje dodijeljen kao 4.

Kodirati:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim MyRange as Set Range MyRange = Radni listovi ("Sheet1"). Raspon ("A1: B8") Za svaku ćeliju u MyRange If Cell.Value Like "1", zatim Cell.Interior.ColorIndex = 6 ElseIf Cell.Value poput "2", tada Cell.Interior.ColorIndex = 4 Kraj If Next End Sub 

Za svaku boju imamo dodijeljene različite kodove boja koji počinju od 1 do 56. Dok je broj 1 kod dodijeljen crnoj boji, a broj 56 dodijeljen tamno sivoj boji. Između toga imamo različite nijanse boja koje možemo pronaći iz Microsoftovih dokumenata.

Korak 10: Ako nešto od navedenog

uvjet je FALSE, imali bismo još jedan Else ako je uvjet gdje ako je vrijednost ćelije A tada će unutarnja boja ćelije biti Žuta. A za žuto ponovno ćemo dodijeliti kod kao 6.

Kodirati:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim MyRange as Set Range MyRange = Radni listovi ("Sheet1"). Raspon ("A1: B8") Za svaku ćeliju u MyRange If Cell.Value Like "1", zatim Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "2", zatim Cell.Interior.ColorIndex = 4 ElseIf Cell.Value poput "A", a zatim Cell.Interior.ColorIndex = 6 Kraj ako je sljedeći kraj Sub 

Korak 11: Isto učinite i za B vrijednost ćelije, s oznakom boje 4 kao Zelena.

Kodirati:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim MyRange as Set Range MyRange = Radni listovi ("Sheet1"). Raspon ("A1: B8") Za svaku ćeliju u MyRange If Cell.Value Like "1", zatim Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "2" Onda Cell.Interior.ColorIndex = 4 ElseIf Cell.Value Like "A" Onda Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "B", zatim Cell.Interior.ColorIndex = 4 Kraj Ako je Kraj Kraj Sub 

12. korak: Ako bilo koji od uvjeta nije TRUE, tada ćemo za Else odabrati kôd boje kao None .

Kodirati:

 Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim MyRange as Set Range MyRange = Radni listovi ("Sheet1"). Raspon ("A1: B8") Za svaku ćeliju u MyRange If Cell.Value Like "1", zatim Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "2" Onda Cell.Interior.ColorIndex = 4 ElseIf Cell.Value Like "A" Onda Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "B", zatim Cell.Interior.ColorIndex = 4 Ostalo Cell.Ineterios.ColorIndex = xlNi jedan kraj Ako sljedeći kraj Sub 

Korak 13: Kako je kôd velik, za sastavljanje svakog koraka koda pritisnite F8 funkcionalnu tipku. Ako nije pronađena nijedna pogreška, kliknite na gumb za reprodukciju u jednom potezu. Vidjet ćemo da je, prema pravilima uvjetnog oblikovanja definiranim u VBA kodu, boja ćelija promijenjena u odabrane kodove boja kao što je prikazano u nastavku.

14. korak: ovo oblikovanje je sada ispravljeno. Ako želimo vidjeti promjene u boji, za test promijenimo vrijednost bilo koje ćelije, smatramo, A1 s 1 na 2. Vidjet ćemo da je boja ćelije A1 promijenjena u Zelena.

To je zato što smo izjavili da će se u rasponu od A1 do B8 svaka ćelija koja sadrži brojeve 1 i 2 i alfabete A i B oblikovati kao žuta i zelena boja kao što je prikazano u ćeliji D2 do E3.

Za i protiv

  • Daje instant izlaz ako imamo ogromne podatke. Dok primijenimo li istu u opciji izbornika Excel, trebat će vremena da se očisti oblikovanje velikog skupa podataka.
  • Mi možemo obavljati sve vrste funkcija koje su dostupne u programu Excel za uvjetno oblikovanje i u VBA.
  • Ne preporučuje se primjena VBA uvjetnog oblikovanja na mali skup podataka.

Stvari koje treba zapamtiti

  • Mnogo je drugih funkcija osim isticanja duplikata i ćelija iste vrijednosti. Format ćelije možemo promijeniti na bilo koji način, kao što je podebljan, ležeći tekst, mijenjamo boju fonta, mijenjamo boju pozadine, ističući vrijednosti između određenog raspona.
  • Nakon što se primijeni uvjetno oblikovanje, možemo promijeniti pravilo, u stvari, možemo izbrisati i uvjete formatiranja. Tako da će se naši podaci vratiti u normalu.
  • U jednoj makronaredbi možemo primijeniti više uvjeta.

Preporučeni članci

Ovo je vodič za VBA uvjetno oblikovanje. Ovdje smo raspravljali o tome kako koristiti Excel VBA funkciju uvjetnog oblikovanja uz praktične primjere i preuzeti Excel predložak. Možete i pregledati naše druge predložene članke -

  1. Kopiraj funkciju lijepljenja u VBA
  2. Podstring Excel funkcija
  3. VBA pretplata izvan dometa
  4. Formula ISNUMBER Formula
  5. Uvjetno oblikovanje datuma u Excelu

Kategorija: