Як виділити клітинки у 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: як знайти значення в стовпці

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *