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», в столбце команды.

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

 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: как подсчитать ячейки с определенным текстом

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

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