Я создаю инструмент, который фильтрует динамический список.
На рисунке ниже приведен пример,
Приведенный ниже код отлично работает, как и при выборе нескольких критериев.
У меня возникли проблемы с поиском решения, исключающего те же точные критерии.
Я пробовал другие версии с массивами, ранжированием и действием AdvancedFilter.Я могу заставить его работать по одному или двум критериям, но не более.Также я попытался настроить существующий код с помощью таких вещей, как
"<>>=010100"
и "<>*>=010100*"
.
Мой вопрос таков: возможно ли иметь оператор «не равно» при использовании «больше или равно» в сочетании с «меньше или равно»?
Sub search_Zones()
Dim myFirstRow As Long
Dim myLastRow As Long
Dim myFirstColumn As Long
Dim myLastColumn As Long
Dim myCriteriaField As Long
Dim myCriteriaField2 As Long
Dim mySale As String
Dim myWorksheet As Worksheet
myFirstRow = 1
myFirstColumn = 1
myCriteriaField = 14
myCriteriaField2 = 13
mySale = "Sales"
Set myWorksheet = wsGADD130
With myWorksheet
With .Cells
myLastRow = .Find(What:="*", LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
myLastColumn = .Find(What:="*", LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
End With
With .Range(.Cells(myFirstRow, myFirstColumn), .Cells(myLastRow, myLastColumn))
.AutoFilter Field:=myCriteriaField, Criteria1:=mySale
With .Range(.Cells(myFirstRow, myFirstColumn), .Cells(myLastRow, myLastColumn))
'This is the line i want help with
.AutoFilter Field:=myCriteriaField2, Criteria1:=(">=010100"), Operator:=xlAnd, Criteria2:=("<=998876")
On Error Resume Next
'This is where i have another function called upon that extracts the filtered information
End With
End With
.AutoFilterMode = False
End With
End Sub