2016-07-12 3 views
0

Я пытаюсь фильтровать диапазон дат, а не обращая внимания пробелов и ячейки, содержащий «0000-00-00»Фильтрация дата и строка с одним Автофильтром

я могу отправить весь код, если это необходимо, но вот фрагмент кода что у меня проблемы.

Set ComboRange = .Range(.Cells(1, 1), .Cells(lcRow, lcColumn)) 
ComboRange.AutoFilter Field:=6, Criteria1:= _ 
    "<=" & Finish, Operator:=xlOr, Criteria2:=Array("0000-00-00", "=") 

В моем коде lcRow и lcColumn просто означают последнюю строку и столбец. Финиш - это дата, например, 6/30/16. Моя проблема в том, что это удаление моих данных, содержащих «0000-00-00». Я попытался изменить мой оператор на xlAnd и xlFilterValues, но не работал. Спасибо за помощь!

Example data

ответ

1

Это должно работать:

ComboRange.AutoFilter Field:=6, Criteria1:= Array("0, " & Finish), _ 
    Operator:=xlFilterValues, Criteria2:=Array("0000-00-00", "=") 

0 в первом массиве означает больше или равно.

+0

Это дает «Ошибка времени выполнения 1004»: метод AutoFilter класса Range не удался » – BerticusMaximus

+0

@BerticusMaximus - попробуйте сейчас. вам может потребоваться сыграть с тем, как вы загружаете переменную 'Finish' и строки. Я не могу проверить это до утра. –

+0

Это дало еще одну ошибку. Это некрасиво, но я исправил свою проблему, просто зацикляв все, и не открывая строки. Если никто завтра ничего не говорит о завтрашнем дне, проверьте свой ответ как решение. – BerticusMaximus