Tingimuslik vormindamine Excelis VBA

Excelis on kõik duplikaatväärtuste esiletõstmiseks kasutanud tingimuslikku vormindamist. Kordusväärtuste saamiseks kasutatakse peamiselt tingimuslikku vormindamist. Korduvaid väärtusi saame esile tõsta mitmel viisil. Saame esile topeltväärtused, vahemikuspetsiifilised väärtused ja saame ka määratleda reegli vormindamiskriteeriumide täitmiseks. Allpool on jaotises Tingimuslik vormindamine saadaolevad muutuvfunktsioonid.

Aga mis siis, kui suudame automatiseerida seda protsessi, et esile tõsta duplikaadi või mis tahes väärtusi vastavalt meie nõudele. Kriteeriume, mille saame Excelis tingimusliku vormindamise abil määratleda, saab teha ka VBA-s. Tingimusliku vormingu rakendamiseks võime valida mis tahes lahtri, mis on saadaval Exceli töölehel. Tingimuslik vormindamine töötab ainult siis, kui määratletud kriteeriumid vastavad nõudele. Muu hulgas ei näita see värvi muutumist. VBA tingimusliku vormindamise abil saame muuta mis tahes lahtri või lahtri sisu värvi, kustutada lahtri värvi või ka värvi. Lisaks lahtri värvi muutmisele saame lahtri sisu muuta rasvases kirjas või kaldkirjas . Kui see on tehtud, saame ka kõik muudatused tagasi võtta.

Kuidas kasutada tingimuslikku vormindamist Excel VBA-s?

Allpool on toodud erinevad näited VBA-koodi abil Excelis tingimusliku vormindamise funktsiooni kasutamiseks.

Selle VBA tingimusliku vormindamise Exceli malli saate alla laadida siit - VBA tingimuste vormindamise Exceli mall

VBA tingimuslik vormindamine - näide nr 1

Meil on andmeid mõne numbri ja teksti kohta, nagu on näidatud allpool veerus A ja B. Nüüd oleme juba liigitanud värvi, mille peame andma numbrile ja tekstile, mis on lahtris D2. Oleme tuvastanud kollase värvi numbri 1 ja tähestiku A ning rohelise värvi numbri 2 ja tähestiku B jaoks.

Ehkki VBA tingimuslikku vormindamist saab moodulis rakendada, kuid tingimuslikuks vormindamiseks koodi sisestamine lehele muudab koodi toimima ainult sellel lehel. Selleks klõpsake mooduli lisamiseks selle asemel, et minna moodulisse Moodul.

1. samm: Valige esimesest rippmenüüst tööleht, mis on vaikimisi üldine, ja rippmenüüst valib see automaatselt valiku SelectionChange, nagu allpool näidatud.

2. samm: kui oleme selle teinud, aktiveerib see automaatselt privaatse alamkategooria ja sihtmärgi lahter oleks vahemik.

Kood:

 Eraldi alamlehe_valimise muutmine (ByVal sihtmärk vahemikuna) lõpp alam 

3. samm: kirjutage nüüd kood, määrake esmalt muutuja MyRange kui Range . Võite ka MyRange asemel valida mõne muu nime.

Kood:

 Privaatne alamlehe_valimise muutmine (ByVal sihtmärk vahemikuna) Tühjenda MyRange kui vahemik lõppu alam 

4. samm: kasutage seadet Set ja valige määratletud vahemik, nagu allpool näidatud.

Kood:

 Privaatne alamlehe_valimise muutmine (ByVal sihtmärk vahemikuna) Tühjenda MyRange kui vahemik Määra MyRange = Lõpeta alamhulk 

5. samm: pärast seda valige tööleht, kus soovime kasutada tingimuslikku vormindamist. Meie leht on 1. leht. Lehe1 kirjutamise asemel võib jada panna ka kui 1. Ja siis valige nende lahtrite vahemik, mida peame vormindama. Siin on meie vahemik lahtrist A1 kuni B8.

Kood:

 Privaatne alamlehe_valimise muutmine (ByVal sihtmärk vahemikuna) Tühjenda MyRange kui vahemik Määra MyRange = Töölehed ("Leht1"). Vahemik ("A1: B8") Lõpp Alam 

6. samm: avage nüüd silm iga järgmise jaoks, nagu allpool näidatud. Ja alustage seda lahtri määratletud muutuja MyRange valimisega.

Kood:

 Privaatne alamlehe_valimise muutmine (ByVal sihtmärk vahemikuna) Tühjenda MyRange vahemikuna Määra MyRange = Töölehed ("Leht1"). Vahemik ("A1: B8") iga lahtri jaoks MyRange'is Järgmine lõpp 

7. samm. Nüüd avage uuesti If-Else silmus.

Kood:

 Privaatne alamlehe_valimise muutmine (ByVal sihtmärk vahemikuna) Tühjenda MyRange kui vahemik Määra MyRange = Töölehed ("Sheet1"). Range ("A1: B8") iga MyRange'i lahtri korral Kui End, kui järgmine lõpp Sub 

See on piirkond, kus me määraksime värvid kõigile meie valikus olevatele numbritele ja tähestikele.

8. samm: kirjutage kood, kui lahtri väärtus on 1, siis - siseruumi värv - valitud vahemiku lahter vahemikus A1 kuni B8 on roheline. Ja rohelise jaoks on värvikood määratud kui 6.

Kood:

 Privaatne alamlehe_valimise muutmine (ByVali sihtmärk vahemikuna) Tühjenda MyRange kui vahemik Määra MyRange = Töölehed ("Leht1"). Vahemik ("A1: B8") iga MyRange'i lahtri korral Kui Cell.Value nagu "1", siis Cell.Interior.ColorIndex = 6 lõpp, kui järgmine lõpp alam 

9. samm: nüüd lahtri väärtus number 2. Kui valitud lahtri lahtri väärtus on 2, siis on selle lahtri sisemine värv kollane. Ja kollase jaoks on värvikood määratud kui 4.

Kood:

 Privaatne alamlehe_valimise muutmine (ByVali sihtmärk vahemikuna) Tühjenda MyRange kui vahemik Määra MyRange = Töölehed ("Leht1"). Vahemik ("A1: B8") iga MyRange'i lahtri korral Kui Cell.Value nagu "1", siis Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Nagu "2", siis Cell.Interior.ColorIndex = 4 End if Next End Sub 

Iga värvi jaoks on neile eraldatud erinevad värvikoodid, mis algavad 1 kuni 56. Arvestades, et numbri kood 1 on määratud musta värviga ja number 56 on määratud tumehalli värviga. Vahepeal on meil erinevaid teisi värvitoone, mida leiate Microsofti dokumentidest.

10. samm: kui mõni ülalnimetatutest

tingimus on VABA, siis oleks meil veel üks muu tingimus, kus juhul, kui lahtri väärtus on A, siis lahtri sisemine värv on kollane. Ja jälle kollase jaoks määrame koodiks 6.

Kood:

 Privaatne alamlehe_valimise muutmine (ByVali sihtmärk vahemikuna) Tühjenda MyRange kui vahemik Määra MyRange = Töölehed ("Leht1"). Vahemik ("A1: B8") iga MyRange'i lahtri korral Kui Cell.Value nagu "1", siis Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Nagu "2" Siis Cell.Interior.ColorIndex = 4 ElseIf Cell.Value Like "A" Siis Cell.Interior.ColorIndex = 6 End If Next End Sub 

11. samm . Sama toimige ka lahtri väärtuse B korral, värvikood 4 on roheline.

Kood:

 Privaatne alamlehe_valimise muutmine (ByVali sihtmärk vahemikuna) Tühjenda MyRange kui vahemik Määra MyRange = Töölehed ("Leht1"). Vahemik ("A1: B8") iga MyRange'i lahtri korral Kui Cell.Value nagu "1", siis Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Nagu "2" Siis Cell.Interior.ColorIndex = 4 ElseIf Cell.Value Like "A" Siis Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "B" Siis Cell.Interior.ColorIndex = 4 End Kui järgmine lõpp Sub 

12. samm: kui mõni tingimus pole tõene, eelistame muu jaoks värvikoodiks valida Puudub .

Kood:

 Privaatne alamlehe_valimise muutmine (ByVali sihtmärk vahemikuna) Tühjenda MyRange kui vahemik Määra MyRange = Töölehed ("Leht1"). Vahemik ("A1: B8") iga MyRange'i lahtri korral Kui Cell.Value nagu "1", siis Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Nagu "2" Siis Cell.Interior.ColorIndex = 4 ElseIf Cell.Value Like "A" Siis Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "B" Siis Cell.Interior.ColorIndex = 4 Else Cell.Ineterios.ColorIndex = xlNone End Kui järgmine lõpp Sub 

13. samm: kuna kood on suur, vajutage iga koodietapi koostamiseks funktsiooniklahvi F8. Kui ühtegi viga ei leitud, klõpsake kogu nuppu korraga käivitamiseks nuppu Esita. Nagu VBA-koodis määratletud tingimusliku vormindamise reegli kohaselt, on lahtrite värv muudetud valitud värvikoodideks, nagu allpool näidatud.

14. samm: see vorming on nüüd parandatud. Kui tahame näha värvimuutusi, siis muutkem testi jaoks kõigi lahtrite väärtust 1 väärtusest 2-ni. Näeme, et lahtri A1 värvus muudetakse roheliseks.

Selle põhjuseks on asjaolu, et oleme teatanud, et vahemikus A1 kuni B8 vormistatakse kõik lahtrid, mis sisaldavad numbreid 1 ja 2 ning tähestikku A ja B, kollase ja rohelise värvina, nagu näidatud lahtrites D2 kuni E3.

Plussid ja miinused

  • Kui meil on tohutult andmeid, annab see kohese väljundi. Kui me rakendame sama Exceli menüüvaliku abil, võtab suurandmete vormingu tühjendamine aega.
  • Saame täita igat tüüpi funktsioone, mis on Excelis saadaval ka tingimuslikuks vormindamiseks VBA-s.
  • VBA tingimuslikku vormindamist ei soovitata kasutada väikeste andmete jaoks.

Asjad, mida meeles pidada

  • Lisaks duplikaatide ja sama väärtusega lahtrite esiletõstmisele on veel palju muid funktsioone. Lahtri formaati saame muuta igal viisil, näiteks rasvases kirjas, kaldkirjas, muutes fondi värvi, muuta taustavärvi, tuua esile väärtused mõne konkreetse vahemiku vahel.
  • Kui tingimuslik vormindamine on rakendatud, saame reeglit muuta, tegelikult võime kustutada ka vormindamise tingimused. Nii et meie andmed normaliseeruvad.
  • Ühes makros saab rakendada rohkem kui ühte tingimust.

Soovitatavad artiklid

See on VBA tingimusliku vormindamise juhend. Siin arutleme, kuidas kasutada funktsiooni Excel VBA tingimuslikku vormindamist koos praktiliste näidete ja allalaaditava excelimalliga. Võite vaadata ka meie teisi soovitatud artikleid -

  1. Kopeerimise kleepimise funktsioon VBA-s
  2. Exceli funktsiooni alamstring
  3. VBA alamleht on levialast väljas
  4. Exceli ISNUMBER valem
  5. Kuupäevade tingimuslik vormindamine Excelis

Kategooria: