Ställ in villkorlig formatering för ett område med VBA i Microsoft Excel

Anonim

I den här artikeln kommer vi att skapa ett makro för att tillämpa villkorlig formatering i det valda området.

Vi har använt slumpmässiga tal som provdata för att demonstrera makrot.

Makro kan köras genom att klicka på knappen "Hitta max" på "Huvud" -arket.

Logisk förklaring

Vi har skapat ett "ConditionalFormat" -makro för att tillämpa villkorlig formatering på det valda området. Detta makro markerar cellen i violett färg, som innehåller det maximala värdet i det valda området.

Innan du kör detta makro måste du välja ett område där han vill använda den villkorade formateringen.

Till exempel har vi valt ett cellintervall från B9 till F17 som urvalet av utvalda data.

Vid körning av makrot efter val av provområde tillämpas villkorlig formatering på det valda området och cell D16, som innehåller det högsta värdet (97), markeras med violett färg.

Ta ett nytt prov. Vi har valt intervallet från cell B10 till F13 som andra provområdet.

Efter att ha valt det andra provområdet klickar du på knappen "Hitta max" för att köra makrot. Villkorlig formatering kommer att tillämpas på det valda området och cell C11 kommer att markeras med violett färg, eftersom den innehåller det maximala värdet (92) i det valda området.

Efter att ha utfört makrot för två olika samplingar tillämpas villkorad formatering på dem båda. I provdata kommer både cellerna C11 och D16 att markeras med violett färg, eftersom de representerar maximala värden i sina respektive prover.

Om värdena i något av proverna ändras och ett av de nyligen införda värdena är det högsta värdet, markeras cellen med det specifika värdet.

Kodförklaring

Selection.FormatConditions.Delete

Ovanstående kod används för att radera eventuell villkorlig formatering som tillämpas på vald data.

Selection.FormatConditions.Add Type: = xlExpression, Formula1: = _

"=" & Selection.Cells (1) .Address (False, False) & "= MAX (" & Selection.Address & ")"

Ovanstående kod används för att lägga till en ny villkorlig formatering. Typ anger att uttrycket används för att tillämpa villkorsformateringen. Formeln för uttrycket definieras i Formel1.

Selection.Cells (1) .Adress (False, False)

Ovanstående kod används för att referera till adressen för den första cellen i markeringen.

"=" & Selection.Cells (1) .Address (False, False) & "= MAX (" & Selection.Address & ")"

Ovanstående kod används för att jämföra värdet för den första markerade cellen med det maximala värdet för markeringen.

Selection.FormatConditions (1) .Interior.ColorIndex = 39

Ovanstående kod används för att tilldela violett färg till cellen som uppfyller formateringens villkor.

Följ koden nedan

 Sub ConditionalFormat () Med urvalet 'Ta bort tidigare villkorlig formatering .FormatConditions.Delete' lägg till villkorlig formatering i markerad cell .FormatConditions.Add Type: = xlExpression, Formula1: = _ "=" & Selection.Cells (1) .Adress (False) , False) & "= MAX (" & Selection.Address & ")" 'Tilldelning av violett färg för villkorlig formatering .FormatConditions (1) .Interior.ColorIndex = 39 Avsluta med slutet sub 

Om du gillade den här bloggen, dela den med dina vänner på Facebook. Du kan också följa oss på Twitter och Facebook.

Vi vill gärna höra från dig, låt oss veta hur vi kan förbättra vårt arbete och göra det bättre för dig. Skriv till oss på e -postwebbplatsen