Автофильтр VBA: методы и примеры кода для Excel

Вот пример кода VBA для автоматической фильтрации данных в Excel:

Метод 1: использование метода автофильтра

Sub AutoFilterExample()
    Dim ws As Worksheet
    Dim rng As Range

    ' Set the worksheet and range to filter
    Set ws = ThisWorkbook.Sheets("Sheet1")
    Set rng = ws.Range("A1:D10") ' Modify the range as per your data

    ' Apply autofilter to the range
    rng.AutoFilter Field:=1, Criteria1:="FilterValue" ' Modify the field and criteria as per your requirement
End Sub

Метод 2: использование метода фильтра

Sub FilterExample()
    Dim ws As Worksheet
    Dim rng As Range

    ' Set the worksheet and range to filter
    Set ws = ThisWorkbook.Sheets("Sheet1")
    Set rng = ws.Range("A1:D10") ' Modify the range as per your data

    ' Clear any existing filters
    rng.AutoFilter

    ' Apply the filter
    rng.AutoFilter Field:=1, Criteria1:="FilterValue" ' Modify the field and criteria as per your requirement
End Sub

Метод 3: использование метода AdvancedFilter

Sub AdvancedFilterExample()
    Dim ws As Worksheet
    Dim rngSource As Range
    Dim rngCriteria As Range
    Dim rngResult As Range

    ' Set the worksheet and ranges
    Set ws = ThisWorkbook.Sheets("Sheet1")
    Set rngSource = ws.Range("A1:D10") ' Modify the source range as per your data
    Set rngCriteria = ws.Range("F1:F2") ' Modify the criteria range as per your data
    Set rngResult = ws.Range("H1") ' Modify the result range as per your data

    ' Clear any existing filters
    rngSource.AutoFilter

    ' Apply the advanced filter
    rngSource.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=rngCriteria, CopyToRange:=rngResult, Unique:=False
End Sub

Это всего лишь несколько примеров методов, которые можно использовать для автоматической фильтрации данных в VBA. Вы можете изменить код в соответствии со своими потребностями, например изменить имя листа, диапазон, критерии фильтрации и т. д.