Betinget formatering i Excel VBA

I excel har vi alle brukt Betinget formatering for å fremheve dupliserte verdier. Stort sett betinget formatering brukes for å få dupliserte verdier. Vi kan fremheve dupliserte verdier på mange måter. Vi kan fremheve duplikatverdiene, rekkevidde spesifikke verdier og kan også definere regelen for å fullføre formateringskriteriene. Nedenfor er de tilgjengelige variabelfunksjonene under Betinget formatering.

Men hva om vi kan automatisere denne prosessen med å fremheve duplikat eller noen form for verdier i henhold til kravet vårt. Kriteriene som vi kan definere ved bruk av betinget formatering i Excel, kan også gjøres i VBA. For bruk av betinget formatering kan vi velge hvilken som helst celle, rekkevidde tilgjengelig i Excel-regnearket. Betinget formatering fungerer bare når de definerte kriteriene oppfyller kravet. Ellers vil det ikke vise noen fargeendring. Ved hjelp av betinget formatering i VBA, kan vi endre fargen på hvilken som helst celle- eller celleinnhold, slette cellefargen eller fjerne fargen også. Bortsett fra å endre fargen på cellen, kan vi endre celleinnholdet til fet tekst eller kursiv tekst. Når det er gjort, kan vi angre alle endringene også.

Hvordan bruke betinget formatering i Excel VBA?

Nedenfor er de forskjellige eksemplene du kan bruke Betinget formateringsfunksjon i Excel ved å bruke VBA-kode.

Du kan laste ned denne VBA betinget formatering Excel mal her - VBA betinget formatering Excel mal

VBA betinget formatering - eksempel # 1

Vi har data om noen tall og tekst som vist nedenfor i kolonne A og B. Nå har vi allerede kategorisert fargen vi trenger å gi til antall og tekst som er i celle D2. Vi har identifisert gul farge for nummer 1 og alfabet A og grønn farge for nummer 2 og alfabet B.

Selv om VBA betinget formatering kan implementeres i modul, men hvis du skriver koden for betinget formatering i arket, vil koden bare fungere i det arket. For dette, i stedet for å gå til alternativet Modul, klikker du på kategorien Sett inn for å sette inn en modul.

Trinn 1: Nå fra det første rullegardinmenyen velger du Arbeidsark som vil være Generelt som standard, og fra valg-rullegardinmenyen vil det automatisk velge alternativet Valgendring som vist nedenfor.

Trinn 2: Når vi har gjort det, vil den automatisk aktivere den private underkategorien, og målcellen vil være som Range.

Kode:

 Privat underarkeark_Valg Endre (byval mål som område) Slutt sub 

Trinn 3: Skriv nå koden først definere en variabel MyRange som Range . Eller du kan velge hvilket som helst annet navn i stedet for MyRange etter ditt valg.

Kode:

 Privat underarkeark_Valg Endre (ByVal Mål som område) Dim MyRange As Range End Sub 

Trinn 4: Bruk Set og velg det definerte området som vist nedenfor.

Kode:

 Privat underarkeark_Valg Endre (ByVal mål som område) Dim MyRange As Range Set MyRange = End Sub 

Trinn 5: Velg deretter regnearket der vi vil bruke betinget formatering. Her er arket vårt Ark1. Vi kan sette sekvensen også som 1 i stedet for å skrive Sheet1. Og velg deretter området for de cellene som vi trenger å formatere. Her er vårt utvalg fra celle A1 til B8.

Kode:

 Privat underarbeidsark_SelectionChange (ByVal Target As Range) Dim MyRange As Range Set MyRange = Worksheets ("Sheet1"). Range ("A1: B8") End Sub 

Trinn 6: Åpne nå en For hver-neste sløyfe som vist nedenfor. Og begynn det med å velge den celledefinerte variabelen MyRange .

Kode:

 Privat underarbeidsark_SelectionChange (ByVal Target As Range) Dim MyRange As Range Sett MyRange = Worksheets ("Sheet1"). Range ("A1: B8") for hver celle i MyRange Next End Sub 

Trinn 7: Nå åpner du en If-Else-loop igjen.

Kode:

 Privat underarbeidsark_SelectionChange (ByVal Target As Range) Dim MyRange As Range Sett MyRange = Worksheets ("Sheet1"). Range ("A1: B8") for hver celle i MyRange If End Hvis Next End Sub 

Dette er regionen der vi vil tilordne fargene til alle tall og alfabeter som er tilgjengelige i vårt sortiment.

Trinn 8: Skriv koden, hvis celleverdien er 1, vil Interiørfarge være den valgte områdecellen som er fra A1 til B8, grønn. Og for grønt har vi fargekode tilordnet den som 6.

Kode:

 Privat underarkeark_ValgChange (ByVal Target As Range) Dim MyRange As Range Set MyRange = Worksheets ("Sheet1"). Range ("A1: B8") For hver celle i MyRange Hvis Cell.Value Like "1" Then Cell.Interior.ColorIndex = 6 Slutt Hvis neste slutt Sub 

Trinn 9: Nå for celleverdi nummer 2. Ellers hvis celleverdien til en celle fra det valgte området er 2, vil den indre fargen på den cellen være gul. Og for gult har vi fargekode tilordnet den som 4.

Kode:

 Privat underarkeark_ValgChange (ByVal Target As Range) Dim MyRange As Range Set MyRange = Worksheets ("Sheet1"). Range ("A1: B8") For hver celle i MyRange Hvis Cell.Value Like "1" Then Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "2" Så Cell.Interior.ColorIndex = 4 End If Next End Sub 

For hver farge har vi forskjellige fargekoder tilordnet dem som begynner fra 1 til 56. Mens nummerkode 1 er tilordnet Svart farge og nummer 56 er tilordnet Mørkegrå farge. I mellom har vi forskjellige andre fargenyanser som vi kan finne fra Microsoft Documents.

Trinn 10: Hvis noe av det ovennevnte

tilstanden er FALSE, så ville vi ha en annen annen hvis tilstand der hvis celleverdien er A så vil den indre fargen på cellen være gul. Og for gult igjen vil vi tildele kode som 6.

Kode:

 Privat underarkeark_ValgChange (ByVal Target As Range) Dim MyRange As Range Set MyRange = Worksheets ("Sheet1"). Range ("A1: B8") For hver celle i MyRange Hvis Cell.Value Like "1" Then Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "2" Så Cell.Interior.ColorIndex = 4 ElseIf Cell.Value Like "A" Så Cell.Interior.ColorIndex = 6 End Hvis Next End Sub 

Trinn 11: Gjør det samme for celleverdi B også, med fargekode 4 som grønn.

Kode:

 Privat underarkeark_ValgChange (ByVal Target As Range) Dim MyRange As Range Set MyRange = Worksheets ("Sheet1"). Range ("A1: B8") For hver celle i MyRange Hvis Cell.Value Like "1" Then Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "2" Så Cell.Interior.ColorIndex = 4 ElseIf Cell.Value Like "A" Så Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "B" Så Cell.Interior.ColorIndex = 4 Slutt Hvis neste slutt Sub 

Trinn 12: Hvis noen av tilstandene ikke er SANN, vil vi for andre velge fargekode som Ingen .

Kode:

 Privat underarbeidsark_SelectionChange (ByVal Target As Range) Dim MyRange As Range Set MyRange = Worksheets ("Sheet1"). Range ("A1: B8") For hver celle i MyRange Hvis Cell.Value Like "1" Then Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "2" Så Cell.Interior.ColorIndex = 4 ElseIf Cell.Value Like "A" Så Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "B" Så Cell.Interior.ColorIndex = 4 Else Cell.Ineterios.ColorIndex = xlNone End Hvis Next End Sub 

Trinn 13: Når koden er stor, trykk F8-funksjonstasten for å kompilere hvert trinn med koden. Hvis ingen feil ble funnet, kan du klikke på play-knappen for å kjøre hele koden på en gang. Vi vil se, per per betinget formateringsregel definert i VBA-kode, fargen på cellene er blitt endret til valgte fargekoder som vist nedenfor.

Trinn 14: Denne formateringen er nå løst. Hvis vi ønsker å se endringene i farge, for test, la oss endre verdien på en hvilken som helst celle, vurder A1 fra 1 til 2. Vi vil se, fargen på celle A1 blir endret til grønn.

Dette fordi vi har erklært at i området A1 til B8, vil en hvilken som helst celle som inneholder tall 1 og 2 og alfabeter A og B, være formatert som gul og grønn farge som vist i celle D2 til E3.

Fordeler og ulemper

  • Det gir øyeblikkelig produksjon hvis vi har enorme data. Mens vi bruker det samme fra Excel-menyalternativet, vil det ta tid å fjerne formateringen for store datasett.
  • Vi kan utføre alle typer funksjoner som er tilgjengelige i Excel for betinget formatering i VBA også.
  • Det anbefales ikke å bruke VBA betinget formatering for et lite sett med data.

Ting å huske

  • Det er mange andre funksjoner bortsett fra å utheve duplikater og celler med samme verdi. Vi kan endre formatet på cellen på noen måte som fet skrift, kursiv tekst, endre skriftfarge, endre bakgrunnsfarge, fremheve verdiene mellom et bestemt område.
  • Når betinget formatering er brukt, kan vi endre regelen, og faktisk kan vi slette formateringsbetingelsene. Slik at dataene våre vil være tilbake til det normale.
  • Vi kan bruke mer enn en betingelse i en makro.

Anbefalte artikler

Dette er en guide til VBA betingelsesformatering. Her diskuterer vi hvordan du bruker Excel VBA Betinget formateringsfunksjon sammen med praktiske eksempler og nedlastbar Excel-mal. Du kan også gå gjennom andre foreslåtte artikler -

  1. Kopier lim inn funksjon i VBA
  2. Substring Excel-funksjon
  3. VBA-abonnement utenfor rekkevidden
  4. Excel ISNUMBER-formel
  5. Betinget formatering for datoer i Excel

Kategori: