Страницы: 1
RSS
Код фильтрации по времени по-разному ведет себя на разных данных
 
Здравствуйте! Возникла проблема с фильтрацией:
Код
With Лист2
    threecol = Лист1.[I6]
    .[A:S].AutoFilter Field:=3, Criteria1:="Товар оприходован"
    .[A:S].AutoFilter Field:=11, Criteria1:=">" & threecol
End With
Первый шаг работает, а на втором фильтр убирает все данные. Но если открыть его вручную, то в нем будет стоять необходимое значение
Срабатывает он только после нажатия ОК.
Примечательно то, что этот затык наблюдается не у всех пользователей. Версии Excel разные. Может в этом причина?
На всякий случай сделал файл с примером.
Изменено: IvanMantrov - 22.06.2018 16:01:50
 
Попробуйте записать так:
Код
.[A:S].AutoFilter Field:=11, Criteria1:=">" & Str(threecol)
Владимир
 
sokol92, Спасибо, так работает! Str() определяет тип данных как время, я правильно понял?
 
Цитата
а на втором фильтр убирает все данные
У вас в столбце К время, а в столбце I, в котором вы выбираете критерий дата и время.
Может и фильтр ставить по столбцу I ?
 
Kuzmich, не прокатило. Даже если везде одинаковые форматы сделать
 
не прокатило
Код
Sub Тест()
With Лист2
    threecol = Replace(Лист1.[I6], ",", ".")
    'threecol = Лист1.[I6]
    .[A:S].AutoFilter Field:=3, Criteria1:="Товар оприходован"
    .[A:S].AutoFilter Field:=9, Criteria1:=">" & threecol
End With
End Sub
Изменено: Kuzmich - 22.06.2018 17:22:29
 
Цитата
IvanMantrov написал:
Str() определяет тип данных как время, я правильно понял?
Как double:
Код
Debug.Print TypeName(threecol)
Изменено: sokol92 - 22.06.2018 17:14:34
Владимир
Страницы: 1
Наверх