Настройте условно форматиране за област, използвайки VBA в Microsoft Excel

Anonim

В тази статия ще създадем макрос за прилагане на условно форматиране в избраната област.

Използвахме случайни числа като примерни данни, за да демонстрираме работата на макроса.

Макросът може да бъде изпълнен, като щракнете върху бутона „Find Max“ на листа „Main“.

Логично обяснение

Създадохме макрос “ConditionalFormat”, за да приложим условно форматиране към избраната област. Този макрос подчертава клетката във виолетов цвят, която съдържа максималната стойност в избраната област.

Преди да изпълните този макрос, човек трябва да избере област, върху която иска да приложи условното форматиране.

Например, ние сме избрали диапазон от клетки от B9 до F17 като извадка от избрани данни.

При изпълнение на макроса след избиране на извадкова област, се прилага условно форматиране върху избраната област и клетка D16, която съдържа най -високата стойност (97), ще бъде маркирана с виолетов цвят.

Сега вземете друга проба. Избрахме диапазона от клетка B10 до F13 като втора пробна зона.

След като изберете втората примерна област, щракнете върху бутона „Find Max“, за да стартирате макроса. Условното форматиране ще бъде приложено към избраната област и клетка C11 ще бъде маркирана с виолетов цвят, тъй като съдържа максималната стойност (92) в избраната област.

След изпълнение на макроса за две различни извадки, условното форматиране се прилага и за двете. В примерните данни и двете клетки C11 и D16 ще бъдат маркирани с виолетов цвят, тъй като представляват максимални стойности в съответните им проби.

Ако стойностите в някоя от пробите се променят и една от ново вмъкнатите стойности е най -високата стойност, тогава клетката с тази конкретна стойност ще бъде маркирана.

Обяснение на кода

Selection.FormatConditions.Delete

Горният код се използва за изтриване на всяко условно форматиране, приложено към избраните данни.

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

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

Горният код се използва за добавяне на ново условно форматиране. Тип указва, че изразът се използва за прилагане на форматирането на условието. Формулата на израза е дефинирана във Формула 1.

Избор. Клетки (1). Адрес (невярно, невярно)

Горният код се използва за справка на адреса на първата клетка в селекцията.

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

Горният код се използва за сравняване на стойността на първата избрана клетка с максималната стойност на селекцията.

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

Горният код се използва за присвояване на виолетов цвят на клетката, който отговаря на условието за форматиране.

Моля, следвайте кода по -долу

 Sub ConditionalFormat () With Selection "Изтриване на всяко предишно условно форматиране. FormatConditions.Delete" добавяне на условно форматиране към избраната клетка. FormatConditions.Add Type: = xlExpression, Formula1: = _ "=" & Selection.Cells (1) .Address (False , False) & "= MAX (" & Selection.Address & ")" 'Присвояване на виолетов цвят за условното форматиране. FormatConditions (1) .Interior.ColorIndex = 39 Край с End Sub 

Ако този блог ви е харесал, споделете го с приятелите си във Facebook. Също така можете да ни следвате в Twitter и Facebook.

Ще се радваме да чуем от вас, уведомете ни как можем да подобрим работата си и да я направим по -добра за вас. Пишете ни на имейл сайта