Vba: як приховати рядки на основі критеріїв
Ви можете використовувати такий синтаксис у VBA, щоб приховати рядки на основі значення клітинки:
SubHideRows ()
Dim i As Integer
For i = 2 To 10
If Cells(i, 1).Value = " Mavs " Then
Cells(i, 1).EntireRow.Hidden = True
Else
Cells(i, 1).EntireRow.Hidden = False
End If
Next i
End Sub
Цей конкретний макрос приховує всі рядки в діапазоні від 2 до 10, які мають значення клітинки, що дорівнює «Mavs» у першому стовпці.
Для відображення всіх рядків можна також використати такий макрос:
SubUnhideRows ()
Rows.EntireRow.Hidden = False
End Sub
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: використовуйте VBA, щоб приховати рядки на основі критеріїв
Припустимо, що ми маємо наступний набір даних, що містить інформацію про різних баскетболістів:
Скажімо, ми хочемо приховати кожен рядок, який містить «Mavs» у стовпці team.
Для цього ми можемо створити такий макрос:
SubHideRows ()
Dim i As Integer
For i = 2 To 10
If Cells(i, 1).Value = " Mavs " Then
Cells(i, 1).EntireRow.Hidden = True
Else
Cells(i, 1).EntireRow.Hidden = False
End If
Next i
End Sub
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Зверніть увагу, що кожен рядок, який містить «Mavs» у стовпці команди, тепер приховано.
Якщо ми хочемо, ми можемо створити такий макрос для відображення всіх рядків:
SubUnhideRows ()
Rows.EntireRow.Hidden = False
End Sub
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Зауважте, що всі рядки відображаються знову.
Зауважте, що в нашому макросі ми вказали For i = 2 To 10 , щоб приховати рядки від 2 до 10 на основі критеріїв.
Ви можете змінити ці початкові та кінцеві значення, щоб приховати рядки в іншому діапазоні рядків.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:
VBA: як застосувати умовне форматування до клітинок
VBA: як підрахувати кількість рядків у діапазоні
VBA: як підрахувати клітинки з певним текстом