Вот пример кода 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. Вы можете изменить код в соответствии со своими потребностями, например изменить имя листа, диапазон, критерии фильтрации и т. д.