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