Доброго всем дня! Использую функцию DateValue для определения критерия фильтрации:
Код
den = DateValue(Range("D2"))
With Лист4
For m = 1 To .UsedRange.Columns.Count
If .Cells(1, m).Value Like "Момент создания" Then .Range("A:AQ").AutoFilter Field:=m, Criteria1:=den
Next
End With
Фильтр конечно работает, но если например в D2 стояло значение 03.01.2018, то в качестве критерия он будет использовать 01.03.2018 Иными словами функция видит даты не в формате дд.мм.гггг, а в американском варианте мм.дд.гггг Как исправить данный момент или какую функцию использовать вместо DateValue?
Я просил пример, а не рабочий файл с кучей бесполезной информации. Рыться в этом, выискивая то, что Вам нужно? Но Вам же нужно, а не помогающим! Вот и постарайтесь сами приблизить помощь. Прикрепите нормальный пример к первому сообщению.
Посмотрите какой формат нужен, можете макрорекордером определить и потом подредактируйте.
Код
Sub Макрос2()
Лист11.Select
If IsEmpty(Range("B2")) = False Then
lr = Cells(Rows.Count, 1).End(xlUp).Row
Cells(lr + 1, 1) = "Совпадения:"
den = DateValue(Range("D2"))
art = Range("B2").Value
kor = Range("H2").Value
s = Format(den, "M/D/YYYY")
s = Replace(s, ".", "/")
MsgBox s
With Лист4
For m = 1 To .UsedRange.Columns.Count
If .Cells(1, m).Value Like "Момент создания" Then
.Range("A:AQ").AutoFilter Field:=m, Operator:=xlFilterValues, Criteria2:=Array(2, s)
End If
Next
End With
Else
MsgBox "Артикул не выбран"
Exit Sub
End If
End Sub