Betinget formatering i Excel VBA

I excel har vi alle brugt betinget formatering til at fremhæve duplikatværdier. Stort set betinget formatering bruges til at få duplikatværdier. Vi kan fremhæve duplikatværdier på mange måder. Vi kan fremhæve duplikatværdierne, række specifikke værdier og kan også definere reglen for at fuldføre formateringskriterierne. Nedenfor er de variabelfunktioner, der er tilgængelige under Betinget formatering.

Men hvad nu hvis vi kan automatisere denne proces med at fremhæve duplikat eller enhver form for værdier i henhold til vores krav. De kriterier, som vi kan definere ved hjælp af betinget formatering i Excel, kan også gøres i VBA. For anvendelse af betinget formatering kan vi vælge en hvilken som helst celle, rækkevidde tilgængelig i Excel-regnearket. Betinget formatering fungerer kun, når de definerede kriterier opfylder kravet. Ellers viser det ikke nogen farveændring. Ved hjælp af betinget formatering i VBA kan vi ændre farven på ethvert celle- eller celleindhold, slette cellefarven eller fjerne farven også. Bortset fra at ændre farven på cellen, kan vi ændre celleindholdet til fed tekst eller kursiv tekst. Når det er gjort, kan vi også fortryde alle ændringerne.

Hvordan bruges betinget formatering i Excel VBA?

Nedenfor er de forskellige eksempler til brug af Betinget formateringsfunktion i Excel ved hjælp af VBA-kode.

Du kan downloade denne VBA betinget formatering af Excel skabelon her - VBA betinget formatering Excel skabelon

VBA betinget formatering - eksempel # 1

Vi har data om nogle tal og tekst som vist nedenfor i kolonne A og B. Nu har vi allerede kategoriseret den farve, vi har brug for at give til nummer og tekst, der er i celle D2. Vi har identificeret gul farve for nummer 1 og alfabet A og grøn farve for nummer 2 og alfabet B.

Selvom VBA betinget formatering kan implementeres i modul, men at skrive koden til betinget formatering i ark, får koden kun til at arbejde i det ark. For dette skal du i stedet for at gå til indstillingen Modul klikke på fanen Indsæt for at indsætte et modul.

Trin 1: Fra det første rulleliste vælges nu Arbejdsark, der som standard vil være Generelt, og fra vælg dropdown vælger det automatisk indstillingen Valgændring som vist nedenfor.

Trin 2: Når vi først har gjort det, aktiveres den automatisk den private underkategori, og målcellen vil være som Range.

Kode:

 Privat sub-regneark_ValgSkift (ByVal-mål som rækkevidde) Sluttunder 

Trin 3: Skriv nu koden først definér en variabel MyRange som Range . Eller du kan vælge ethvert andet navn i stedet for MyRange efter dit valg.

Kode:

 Privat sub-regneark_ValgSkift (ByVal-mål som rækkevidde) Dim MyRange As Range End Sub 

Trin 4: Brug Set og vælg det definerede interval som vist nedenfor.

Kode:

 Privat sub-regneark_ValgChange (ByVal-mål som rækkevidde) Dim MyRange As Range Set MyRange = End Sub 

Trin 5: Vælg derefter det regneark, hvor vi vil anvende den betingede formatering. Her er vores ark Sheet1. Vi kan sætte sekvensen også som 1 i stedet for at skrive Sheet1. Og vælg derefter området for de celler, som vi har brug for at formatere. Her er vores sortiment fra celle A1 til B8.

Kode:

 Privat sub-regneark_ValgChange (ByVal-mål som rækkevidde) Dim MyRange As Range Set MyRange = Worksheets ("Sheet1"). Range ("A1: B8") End Sub 

Trin 6: Åbn nu en for hver næste loop som vist nedenfor. Og start det med at vælge den celdefinerede variabel MyRange .

Kode:

 Privat sub-regneark_ValgChange (ByVal-mål som rækkevidde) Dim MyRange As Range Set MyRange = Worksheets ("Sheet1"). Range ("A1: B8") for hver celle i MyRange Next End Sub 

Trin 7: Åbn i det igen en If-Else-løkke.

Kode:

 Privat sub-regneark_ValgChange (ByVal-mål som rækkevidde) Dim MyRange As Range Indstil MyRange = Worksheets ("Sheet1"). Range ("A1: B8") for hver celle i MyRange Hvis slut Hvis næste slut Sub 

Dette er det område, hvor vi tildeler farverne til alle numre og alfabeter, der er tilgængelige i vores sortiment.

Trin 8: Skriv koden, hvis celleværdien er 1, så er interiørfarve den valgte områdecelle, der er fra A1 til B8, grøn. Og for grønt har vi en farvekode, der er tildelt den som 6.

Kode:

 Privat sub-regneark_ValgChange (ByVal-mål som rækkevidde) Dim MyRange As Range Indstil MyRange = Worksheets ("Sheet1"). Range ("A1: B8") For hver celle i MyRange Hvis Cell.Value Like "1" derefter Cell.Interior.ColorIndex = 6 End Hvis Next End Sub 

Trin 9: Nu for celleværdi nummer 2. Ellers hvis celleværdien for en celle fra det valgte område er 2, vil den indre farve på denne celle være gul. Og for gult har vi tildelt en farvekode som 4.

Kode:

 Privat sub-regneark_ValgChange (ByVal-mål som rækkevidde) Dim MyRange As Range Indstil MyRange = Worksheets ("Sheet1"). Range ("A1: B8") For hver celle i MyRange Hvis Cell.Value Like "1" derefter Cell.Interior.ColorIndex = 6 ElseIf Cell.Value Like "2" Så Cell.Interior.ColorIndex = 4 End Hvis Next End Sub 

For hver farve har vi forskellige farvekoder tildelt dem, der starter fra 1 til 56. Mens nummerkode 1 er tildelt sort farve og nummer 56 er tildelt mørkegrå farve. I mellem har vi forskellige andre farveskygger, som vi kan finde fra Microsoft Dokumenter.

Trin 10: Hvis noget af ovenstående

betingelse er FALSE, så ville vi have en anden anden, hvis betingelse, hvor hvis celleværdien er A, vil den indvendige farve på cellen være gul. Og for gult igen tildeler vi kode som 6.

Kode:

 Privat sub-regneark_ValgChange (ByVal-mål som rækkevidde) Dim MyRange As Range Indstil MyRange = Worksheets ("Sheet1"). Range ("A1: B8") For hver celle i MyRange Hvis Cell.Value Like "1" derefter 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 

Trin 11: Gør det samme også for celleværdi B med farvekode 4 som grøn.

Kode:

 Privat sub-regneark_ValgChange (ByVal-mål som rækkevidde) Dim MyRange As Range Indstil MyRange = Worksheets ("Sheet1"). Range ("A1: B8") For hver celle i MyRange Hvis Cell.Value Like "1" derefter 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 næste slut Sub 

Trin 12: Hvis en af ​​betingelserne ikke er SAND, for andre vil vi foretrække at vælge farvekode som Ingen .

Kode:

 Privat sub-regneark_ValgChange (ByVal-mål som rækkevidde) Dim MyRange As Range Indstil MyRange = Worksheets ("Sheet1"). Range ("A1: B8") For hver celle i MyRange Hvis Cell.Value Like "1" derefter 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 

Trin 13: Når koden er stor, skal du trykke på F8-funktionstasten for at kompilere hvert trin i koden. Hvis der ikke findes nogen fejl, skal du klikke på play-knappen for at køre hele koden på én gang. Vi vil se pr. Betinget formateringsregel defineret i VBA-kode, farven på cellerne er ændret til valgt farvekode som vist nedenfor.

Trin 14: Denne formatering er nu rettet. Hvis vi vil se ændringerne i farve, skal vi til test ændre værdien af ​​en hvilken som helst celle overveje A1 fra 1 til 2. Vi vil se, farven på celle A1 ændres til grøn.

Dette skyldes, at vi har erklæret, at i området A1 til B8, vil enhver celle, der indeholder numrene 1 og 2 og alfabeter A og B, blive formateret som gul og grøn farve som vist i celle D2 til E3.

Fordele og ulemper

  • Det giver øjeblikkelig output, hvis vi har enorme data. Mens vi anvender det samme fra Excel-menuindstillingen, vil det tage tid at rydde formateringen til big datasæt.
  • Vi kan også udføre alle typer funktioner, der er tilgængelige i Excel til betinget formatering i VBA.
  • Det anbefales ikke at anvende VBA betinget formatering til et lille sæt data.

Ting at huske

  • Der er mange andre funktioner bortset fra at fremhæve duplikater og celler med samme værdi. Vi kan ændre formatet på cellen på enhver måde såsom fed skrift, kursiv tekst, ændring af fontfarve, ændring af baggrundsfarve, fremhævelse af værdierne mellem et bestemt område.
  • Når betinget formatering er anvendt, kan vi ændre reglen, faktisk kan vi også slette formateringsbetingelserne. Så vores data vender tilbage til det normale.
  • Vi kan anvende mere end en betingelse i en makro.

Anbefalede artikler

Dette er en guide til VBA betinget formatering. Her diskuterer vi, hvordan du bruger Excel VBA betingelsesformateringsfunktion sammen med praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. Copy Paste-funktion i VBA
  2. Undertræk Excel-funktion
  3. VBA-abonnement uden for rækkevidden
  4. Excel ISNUMBER-formel
  5. Betinget formatering af datoer i Excel

Kategori: