过滤日期,格式为“ dd / mm / yyyy h:mm”

时间:2019-10-02 07:21:32

标签: excel vba

here's未过滤数据的屏幕截图

Sub qwe()
     ThisWorkbook.Sheets("book").Range("f1").AutoFilter Field:=6, Criteria1:=CDate("2018/10/1 4:20")
    End Sub

我需要使用“ dd / mm / yyyy h:mm”的自定义格式过滤日期

2 个答案:

答案 0 :(得分:1)

我玩弄了您的代码,在某些情况下,过滤行为确实很奇怪。对我来说,解决此问题的方法是像这样设置.Criteria

Sub qwe()
 ThisWorkbook.Sheets("book").Range("f1").AutoFilter Field:=6, Criteria1:="=2018/10/1 4:20"
End Sub

要执行此操作,您需要确保数据的格式类似于.Criteriayyyy/mm/dd h:mm

请注意,这不是您在问题(dd/mm/yyyy h:mm)中明确要求的格式。如果您的数据采用这种格式,则需要像这样设置.Criteria"=01/10/2018 4:20"

答案 1 :(得分:1)

尝试以下操作:

Sub test()

Dim str As String: str = DateSerial(2018, 10, 1) & " " & Format(TimeSerial(4, 41, 7), "hh:mm")
ThisWorkbook.Sheets("book").Range("f1").AutoFilter Field:=6, Criteria1:=str

End Sub