Как выделить ячейки в vba: с примерами
Вы можете использовать следующие методы в VBA для выделения ячеек:
Способ 1: выделить активную ячейку
SubHighlightActiveCell ()
ActiveCell.Interior.Color = vbYellow
End Sub
Этот конкретный макрос выделит текущую активную ячейку желтым фоном.
Способ 2: выделить диапазон ячеек
SubHighlightRange ()
Range(" B2:B10 ").Interior.Color = vbYellow
End Sub
Этот конкретный макрос выделит каждую ячейку в диапазоне B2:B10 желтым фоном.
Способ 3: выделить диапазон ячеек на основе критериев
SubHighlightRangeBasedOnCriteria ()
Dim rng As Range
For Each rng In Range(" B2:B10 ")
If rng.Value > 20 Then
rng.Interior.Color = vbYellow
End If
Next rng
End Sub
Этот конкретный макрос выделит каждую ячейку в диапазоне B2:B10 , имеющую значение больше 20.
В следующих примерах показано, как использовать каждый метод на практике со следующим набором данных в Excel:
Пример 1. Выделите активную ячейку
Предположим, ячейка B3 в данный момент выбрана.
Мы можем создать следующий макрос, чтобы выделить эту активную ячейку:
SubHighlightActiveCell ()
ActiveCell.Interior.Color = vbYellow
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
Обратите внимание, что ячейка B3 выделена, а все остальные ячейки остаются нетронутыми.
Пример 2. Выделение диапазона ячеек
Допустим, мы хотим выделить каждую ячейку в диапазоне B2:B10 .
Для этого мы можем создать следующий макрос:
SubHighlightRange ()
Range(" B2:B10 ").Interior.Color = vbYellow
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
Обратите внимание, что каждая ячейка в диапазоне B2:B10 выделяется, а все остальные ячейки остаются нетронутыми.
Пример 3. Выделение диапазона ячеек на основе критериев
Допустим, мы хотим выделить каждую ячейку в диапазоне B2:B10 , имеющую значение больше 20.
Для этого мы можем создать следующий макрос:
SubHighlightRangeBasedOnCriteria ()
Dim rng As Range
For Each rng In Range(" B2:B10 ")
If rng.Value > 20 Then
rng.Interior.Color = vbYellow
End If
Next rng
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
Обратите внимание, что каждая ячейка в диапазоне B2:B10 со значением больше 20 выделяется, а все остальные ячейки остаются нетронутыми.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
VBA: как применить условное форматирование к ячейкам
VBA: как применить условное форматирование к повторяющимся значениям
VBA: как найти значение в столбце