Настройка условного форматирования для области с помощью VBA в Microsoft Excel
В этой статье мы создадим макрос для применения условного форматирования в выбранной области.
Мы использовали случайные числа в качестве выборки данных, чтобы продемонстрировать работу макроса.
Макрос можно запустить, нажав кнопку «Найти макс.» На «Основном» листе.
Логическое объяснение
Мы создали макрос «ConditionalFormat» для применения условного форматирования к выбранной области. Этот макрос выделяет фиолетовым цветом ячейку, которая содержит максимальное значение в выбранной области.
Перед выполнением этого макроса нужно выбрать область, к которой он хочет применить условное форматирование.
Например, мы выбрали диапазон ячеек от B9 до F17 в качестве выборки выбранных данных.
При выполнении макроса после выбора области образца условное форматирование применяется к выбранной области, и ячейка D16, которая содержит наивысшее значение (97), будет выделена фиолетовым цветом.
Теперь возьмем другой образец. Мы выбрали диапазон от ячейки B10 до F13 в качестве второй области выборки.
После выбора второй области образца нажмите кнопку «Найти максимум», чтобы запустить макрос. К выбранной области будет применено условное форматирование, а ячейка C11 будет выделена фиолетовым цветом, так как она содержит максимальное значение (92) в выбранной области.
После выполнения макроса для двух разных выборок условное форматирование применяется к ним обоим. В данных выборки обе ячейки C11 и D16 будут выделены фиолетовым цветом, поскольку они представляют максимальные значения в соответствующих выборках.
Если значения в любой из выборок изменяются и одно из вновь вставленных значений является наивысшим значением, тогда ячейка с этим конкретным значением будет выделена.
Объяснение кода
Selection.FormatConditions.Delete Вышеупомянутый код используется для удаления любого условного форматирования, примененного к выбранным данным.
Selection.FormatConditions.Add Тип: = xlExpression, Formula1: = _ «=» & Selection.Cells (1) .Address (False, False) & «= MAX (» & Selection.Address & «)»
Приведенный выше код используется для добавления нового условного форматирования. Тип указывает, что выражение используется для применения форматирования условия. Формула выражения определена в Formula1.
Selection.Cells (1) .Address (False, False)
Приведенный выше код используется для ссылки на адрес первой ячейки в выделенном фрагменте.
«=» & Selection.Cells (1) .Address (False, False) & «= MAX (» & Selection.Address & «)»
Приведенный выше код используется для сравнения значения первой выбранной ячейки с максимальным значением выделения.
Selection.FormatConditions (1) .Interior.ColorIndex = 39 Приведенный выше код используется для присвоения фиолетового цвета ячейке, удовлетворяющей условию форматирования.
Пожалуйста, введите код ниже
Sub ConditionalFormat() With Selection 'Delete any previous conditional formatting .FormatConditions.Delete 'add conditional formatting to selected cell .FormatConditions.Add Type:=xlExpression, Formula1:= _ "=" & Selection.Cells(1).Address(False, False) & "=MAX(" & Selection.Address & ")" 'Assigning Violet color for the conditional formatting .FormatConditions(1).Interior.ColorIndex = 39 End With End Sub
Если вам понравился этот блог, поделитесь им с друзьями на Facebook и Facebook.
Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить нашу работу и сделать ее лучше для вас. Напишите нам на [email protected]