Ниже мы рассмотрим программу в Excel VBA, что цвета максимального значения диапазона динамического.

Ситуация:

Каждый раз, когда мы добавляем число и кликаем кнопку команды, мы хотим, чтобы Excel VBA раскрасить максимальное значение этих чисел.

Dynamic Range in Excel VBA

Поместите командную кнопку на листе и добавьте строки следующего кода:

  1. Во-первых, мы объявляем одну переменную и два объекта Range. Одна переменная типа Double мы называем максимум. Мы называем объекты Диапазон ГСЧ и клетки.

Dim maximum As Double, rng As Range, cell As Range
  1. Добавляет строку, которая изменяет цвет фона всех ячеек «No Fill».

Cells.Interior.ColorIndex = 0
  1. Мы инициализируем ГСЧ с номерами. Мы используем ссылке: / VBA-примеры-CurrentRegion [CurrentRegion] свойство для этого. CurrentRegion полезно, когда мы не знаем точные границы диапазона заранее.

Set rng = Range("A1").CurrentRegion
  1. Мы инициализируем максимум с максимальным значением чисел. Мы используем функцию рабочего листа Max, чтобы найти значение максимального.

maximum = WorksheetFunction.Max(rng)
  1. И, наконец, мы окрасить значение максимальной. Мы используем для каждого следующего Цикла.

For Each cell In rng

If cell.Value = maximum Then cell.Interior.ColorIndex = 22

Next cell

Примечание: вместо ColorIndex номер 22 (красный), вы можете использовать любое количество ColorIndex.

  1. Добавить номер.

Результат при нажатии на кнопку управления на листе:

Dynamic Range Result