Как выделить ячейки в 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

Когда мы запускаем этот макрос, мы получаем следующий вывод:

VBA выделяет активную ячейку

Обратите внимание, что ячейка B3 выделена, а все остальные ячейки остаются нетронутыми.

Пример 2. Выделение диапазона ячеек

Допустим, мы хотим выделить каждую ячейку в диапазоне B2:B10 .

Для этого мы можем создать следующий макрос:

 SubHighlightRange ()
Range(" B2:B10 ").Interior.Color = vbYellow
End Sub

Когда мы запускаем этот макрос, мы получаем следующий вывод:

VBA выделяет диапазон ячеек

Обратите внимание, что каждая ячейка в диапазоне 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

Когда мы запускаем этот макрос, мы получаем следующий вывод:

VBA выделяет ячейки на основе критериев

Обратите внимание, что каждая ячейка в диапазоне B2:B10 со значением больше 20 выделяется, а все остальные ячейки остаются нетронутыми.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:

VBA: как применить условное форматирование к ячейкам
VBA: как применить условное форматирование к повторяющимся значениям
VBA: как найти значение в столбце

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *