Вот как я пытался воссоздать проблему
Private Sub TextBox2_Change()
Dim rng As Range
Set rng = Range("A1:B1")
If Me.TextBox2.Text = "" And Me.TextBox1.Text = "" Then
rng.AutoFilter 1
End If
If Not IsDate(Me.TextBox2.Text) Then GoTo subkill
If Not IsDate(Me.TextBox1.Text) Then
rng.AutoFilter 1, ">=" & Format(Me.TextBox1.Text, "m/d/yyyy")
End If
If IsDate(Me.TextBox2.Text) Then
rng.AutoFilter 1, ">=" & Format(Me.TextBox1.Text, "m/d/yyyy"), xlAnd, "<=" & Format(Me.TextBox2.Text, "m/d/yyyy")
End If
subkill:
End Sub
Когда я переместил свой диапазон на B1: C6 и изменил код наSet rng = Range("B1:C1")
это все еще работает. Обычно эта ошибка означает, что вы фильтруете столбец, который не входит в ваш диапазон, но я не вижу этого здесь.
Я читал в другом месте, что даты должны быть в формате США дляавтофильтр. Если это правда, попробуйте изменить формат даты. Но если вы попробовали 01.01.2009 в обоих полях, это будет одинаковая действительная дата в обоих форматах.