VBA: n ehdollinen muotoilu - Ehdollisen muotoilun käyttäminen VBA: lla

Sisällysluettelo:

Anonim

Ehdollinen muotoilu Excel VBA: ssa

Excelissä me kaikki olemme käyttäneet ehdollista muotoilua päällekkäisten arvojen korostamiseksi. Kaksoisarvojen saamiseksi käytetään ehdottomasti muotoilua. Voimme korostaa päällekkäisiä arvoja monin tavoin. Voimme korostaa kaksoisarvot, aluekohtaiset arvot ja myös määritellä säännön muotoiluperusteiden täydentämiseksi. Alla on Ehdollisessa muotoilussa käytettävissä olevat muuttujat.

Mutta entä jos voimme automatisoida tämän prosessin, joka korostaa päällekkäisiä tai mitä tahansa arvoja vaatimuksemme mukaan. Kriteerit, jotka voimme määritellä ehdollisen muotoilun avulla Excelissä, voidaan tehdä myös VBA: ssa. Ehdollisen muotoilun soveltamiseksi voimme valita minkä tahansa solun, alueen, joka on saatavana Excel-taulukossa. Ehdollinen muotoilu toimii vain, kun määritellyt kriteerit täyttävät vaatimukset. Muuten, se ei näytä mitään värimuutoksia. VBA: n ehdollisen muotoilun avulla voimme muuttaa minkä tahansa solun tai solusisällön väriä, poistaa solun värin tai poistaa myös värin. Solun värin vaihtamisen lisäksi voimme muuttaa solun sisällön lihavoituna tai kursivoituna . Kun se on valmis, voimme kumota myös kaikki muutokset.

Kuinka käyttää ehdollista muotoilua Excel VBA: ssa?

Alla on erilaisia ​​esimerkkejä ehdollisen muotoilutoiminnon käytöstä Excelissä VBA-koodilla.

Voit ladata tämän VBA-ehdollisen muotoilun Excel-mallin täältä - VBA: n ehdollisen muotoilun Excel-mallin

VBA: n ehdollinen muotoilu - esimerkki 1

Meillä on tietoja joistakin numeroista ja tekstistä, kuten alla olevassa sarakkeessa A ja B. Nyt olemme jo luokitelleet värin, joka meidän on annettava numeroon ja tekstiin, jotka ovat solussa D2. Olemme tunnistaneet keltaisen värin numerolle 1 ja aakkoselle A ja vihreän värin numerolle 2 ja aakkoselle B.

Vaikka VBA: n ehdolliset muotoilut voidaan toteuttaa moduulissa, mutta ehdollisen muotoilun koodin kirjoittaminen taulukkoon, koodi toimii vain siinä taulukossa. Aseta moduuli napsauttamalla Lisää-välilehteä sen sijaan, että siirryttäisiin Moduuli-asetukseen.

Vaihe 1: Valitse ensimmäisestä pudotusvalikosta Työarkki, joka on oletuksena yleinen, ja valitse avattavasta avattavasta avattavasta vaihtoehdosta automaattisesti valintavalintavaihtoehto alla olevan kuvan mukaisesti.

Vaihe 2: Kun olemme tehneet niin, se aktivoi automaattisesti yksityisen alaluokan, ja kohdesolu olisi kuin alue.

Koodi:

 Yksityinen alatyöarkki_valintamuutos (ByVal-kohde kohdealueena) Loppu alaosaan 

Vaihe 3: Kirjoita nyt koodi, määritä ensin muuttuja MyRange alueeksi . Tai voit valita minkä tahansa muun nimen MyRangen sijasta valintasi mukaan.

Koodi:

 Yksityinen alatyöarkki_valintamuutos (ByVal-kohde kuin alue) himmentää MyRange kuin alue lopussa ala-alue 

Vaihe 4: Käytä Set ja valitse määritetty alue alla olevan kuvan mukaisesti.

Koodi:

 Yksityinen alityöarkki_valintamuutos (ByVal-kohde asteikolla) himmentää MyRange as-alueena Aseta MyRange = End Sub 

Vaihe 5: Valitse sen jälkeen taulukko, johon haluamme käyttää ehdollista muotoilua. Täällä arkki on Sheet1. Voimme laittaa sekvenssin myös yhdeksi 1 Sheet1: n kirjoittamisen sijasta. Ja valitse sitten niiden solujen alue, jotka meidän on alustettava. Tässä alueemme on solusta A1 B8.

Koodi:

 Yksityinen alityöarkki_valintamuutos (ByVal-kohde kohdealueena) Himmennä MyRange as -alueena Aseta MyRange = Laskentataulukot ("Sheet1"). Range ("A1: B8") End sub 

Vaihe 6: Avaa nyt jokaiselle seuraavaa -silmukka alla olevan kuvan mukaisesti. Aloita valitsemalla Solun määrittelemä muuttuja MyRange .

Koodi:

 Yksityinen alityöarkki_valintamuutos (ByVal-kohde kohdealueena) Himmennä MyRange asteikkona Aseta MyRange = Laskentataulukot ("Sheet1"). Range ("A1: B8") jokaiselle MyRange-solun seuraavalle lopulle 

Vaihe 7: Avaa nyt If-Else-silmukka uudelleen.

Koodi:

 Yksityinen alityöarkki_valintamuutos (ByVal-tavoite asteikolla) himmentää MyRange astetta asettamalla MyRange = laskentataulukot ("Sheet1"). Range ("A1: B8") jokaiselle MyRange-solulle Jos lopettaa, jos seuraava loppu 

Tämä on alue, jolla voimme määrittää värit kaikille valikoimamme numeroille ja aakkosille.

Vaihe 8: Kirjoita koodi, jos solun arvo on 1, sitten Sisäväri, valittu alueen solu, joka on välillä A1 - B8, on vihreä. Ja vihreää varten meille on annettu värikoodi 6.

Koodi:

 Yksityinen alityöarkki_valintamuutos (ByVal-tavoite asteikolla) himmentää MyRange astetta asettamalla MyRange = laskentataulukot ("Sheet1"). Alue ("A1: B8") jokaiselle MyRange-solulle Jos Cell.Value kuten "1" Sitten Cell.Interior.ColorIndex = 6 End if Next End Sub 

Vaihe 9: Nyt solun arvonumerolle 2. Muuta, jos minkä tahansa valitun alueen solun soluarvo on 2, kyseisen solun sisäväri on keltainen. Ja keltaiselle meille on annettu värikoodi sille 4.

Koodi:

 Yksityinen alityöarkki_valintamuutos (ByVal-tavoite asteikolla) himmentää MyRange astetta asettamalla MyRange = laskentataulukot ("Sheet1"). Alue ("A1: B8") jokaiselle MyRange-solulle Jos Cell.Value kuten "1" Sitten Cell.Interior.ColorIndex = 6 ElseIf Cell.Value kuten "2" Sitten Cell.Interior.ColorIndex = 4 End Jos Next End Sub 

Jokaiselle värille on annettu heille erilaisia ​​värikoodeja, jotka alkavat välillä 1 - 56. Kun taas numerokoodi 1 on määritetty mustalle ja numero 56 on annettu tummanharmaaksi. Välillä meillä on erilaisia ​​muita värisävyjä, jotka voimme löytää Microsoft-dokumenteista.

Vaihe 10: Jos jokin yllä mainituista

ehto on Väärä, niin meillä olisi toinen muu, jos ehto, jos solun arvo on A, solun sisäväri on keltainen. Ja keltaiselle taas annamme koodin 6.

Koodi:

 Yksityinen alityöarkki_valintamuutos (ByVal-tavoite asteikolla) himmentää MyRange astetta asettamalla MyRange = laskentataulukot ("Sheet1"). Alue ("A1: B8") jokaiselle MyRange-solulle Jos Cell.Value kuten "1" Sitten Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Kuten "2" Sitten Cell.Interior.ColorIndex = 4 ElseIf Cell.Value Like "A" Sitten Cell.Interior.ColorIndex = 6 End If Next End Sub 

Vaihe 11: Tee sama asia myös soluarvolle B, värikoodilla 4 kuin vihreällä.

Koodi:

 Yksityinen alityöarkki_valintamuutos (ByVal-tavoite asteikolla) himmentää MyRange astetta asettamalla MyRange = laskentataulukot ("Sheet1"). Alue ("A1: B8") jokaiselle MyRange-solulle Jos Cell.Value kuten "1" Sitten Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Kuten "2" Sitten Cell.Interior.ColorIndex = 4 ElseIf Cell.Value Like "A" Sitten Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Kuten "B" Sitten Cell.Interior.ColorIndex = 4 End If Next End Sub 

Vaihe 12: Jos jokin ehdoista ei ole Tosi, niin muille valitsemme mieluummin värikoodiksi Ei mitään .

Koodi:

 Yksityinen alityöarkki_valintamuutos (ByVal-tavoite asteikolla) himmentää MyRange astetta asettamalla MyRange = laskentataulukot ("Sheet1"). Alue ("A1: B8") jokaiselle MyRange-solulle Jos Cell.Value kuten "1" Sitten Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Kuten "2" Sitten Cell.Interior.ColorIndex = 4 ElseIf Cell.Value Like "A" Sitten Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Kuten "B" Sitten Cell.Interior.ColorIndex = 4 Else Cell.Ineterios.ColorIndex = xlNone End Jos Next End Sub 

Vaihe 13: Koska koodi on iso, koota jokainen koodivaihe painamalla funktionäppäintä F8. Jos virhettä ei löytynyt, napsauta toistopainiketta suorittaaksesi koko koodin yhdellä kertaa. Näemme VBA-koodissa määritellyn ehdollisen muotoilusäännön mukaisesti solujen värin muuttuneen valittuihin värikoodeihin, kuten alla on esitetty.

Vaihe 14: Tämä muotoilu on nyt korjattu. Jos haluamme nähdä värimuutokset, testiä varten muutettakoon minkä tahansa solun arvoksi A1: stä 2: een. Nähdään, että solun A1 väri muuttuu vihreäksi.

Tämä johtuu siitä, että olemme ilmoittaneet, että alueella A1 - B8 kaikki solut, jotka sisältävät numeroita 1 ja 2 sekä aakkoset A ja B, muotoillaan keltaisena ja vihreänä, kuten soluissa D2 - E3 esitetään.

Hyvät ja huonot puolet

  • Se antaa välittömän tulosteen, jos meillä on valtavia tietoja. Jos sovellamme samaa Excel-valikon vaihtoehdosta, ison tietojoukon muotoilun tyhjentäminen vie aikaa.
  • Voimme suorittaa kaiken tyyppisiä toimintoja, jotka ovat saatavana myös Excel-muodossa ehdolliseen muotoiluun myös VBA: ssa.
  • Ei ole suositeltavaa käyttää VBA-ehdollista muotoilua pienelle datajoukolle.

Muistettavat asiat

  • Duplikaattien ja samojen arvojen solujen korostamisen lisäksi on monia muita toimintoja. Voimme muuttaa solun muotoa millään tavalla, kuten lihavoitu, kursivoitu teksti, muuttamalla fontin väriä, muuttamalla taustaväriä, korostamalla arvoja tietyn alueen välillä.
  • Kun ehdollista muotoilua on sovellettu, voimme muuttaa sääntöä, itse asiassa voimme myös poistaa muotoiluehdot. Joten tietomme palautuvat normaaliksi.
  • Voimme soveltaa useampaa kuin yhtä ehtoa yhdessä makrossa.

Suositellut artikkelit

Tämä on opas VBA: n ehdolliseen muotoiluun. Tässä keskustellaan siitä, kuinka käyttää Excel VBA -edellytysmuotoilutoimintoa käytännön esimerkkien ja ladattavien Excel-mallien kanssa. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. Kopioi liitä toiminto VBA: ssa
  2. Sub-string Excel-toiminto
  3. VBA-alaindeksi rajojen ulkopuolella
  4. Excel ISNUMBER -kaava
  5. Päivämäärien ehdollinen muotoilu Excelissä