0

这里有什么问题

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) 具有日期格式
第 6 列中的许多单元格的值为 1.9.2012(在公式栏中可见)
结果是没有一个单元格具有此值。r0 中的所有行都被折叠。

4

2 回答 2

2

试试这个

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

此外,请确保第 6 列中的数据是DateSerial而不是看起来像日期的字符串。

于 2012-10-16T08:12:21.370 回答
1

使用以下代码对其进行了测试:

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

工作得很好。

于 2012-10-16T08:04:11.480 回答