如何自动过滤date?

这里有什么不对

Dim dt1 As Date dt1 = DateSerial(2012, 9, 1) r0.Columns(6).AutoFilter r0.Columns(6).AutoFilter field:=1, Criteria1:=dt1, VisibleDropDown:=False 

r0是一个范围 – 9列1300行
r0.Columns(6)有date格式
第6栏中的许多单元格的值为1.9.2012(在公式栏中可见)
结果是没有一个单元格有这个值。 r0中的所有行都已折叠。

尝试这个

 r0.Columns(1).AutoFilter Field:=1, Operator:= _ xlFilterValues, Criteria2:=Array(0, Format(dt1, "mm/dd/yyyy")) 

此外,请确保第6列中的数据是DateSerial而不是看起来像date的string。

testing它与这个代码:

 Public Sub test() Dim dt1 As Date dt1 = DateSerial(2012, 9, 1) Dim r0 As Range Set r0 = Tabelle1.Range("A1:C23") 'r0.Columns(3).AutoFilter r0.Columns(3).AutoFilter field:=1, Criteria1:=dt1, VisibleDropDown:=False End Sub 

在这个数据上:

 HeaderA | HeaderB| HeaderC stuff | stuff | 01.09.2012 stuff | stuff | 01.09.2012 stuff | stuff | 02.09.2012 stuff | stuff | 04.04.2012 stuff | stuff | 01.02.2012 stuff | stuff | 07.09.2012 stuff | stuff | 01.09.2012 stuff | stuff | 08.10.2012 stuff | stuff | 01.09.2012 stuff | stuff | 01.09.2012 

工作很好。