【发布时间】:2016-02-29 15:20:03
【问题描述】:
这只是我正在编写的 vba 代码的一部分,简单的日期比较不起作用。我有一张包含大量数据的表格,vba 代码创建了一个数据透视表。该代码运行良好并且过滤掉了所有过去的日期,但由于某种原因(今天是 2 月 29 日)它没有过滤掉(2 月 3 日和 2 月 4 日)。它会正确过滤掉所有其他 2 月的日期,但它只是这两个日期。有谁知道出了什么问题?
With ActiveSheet.PivotTables("pivottable1").PivotFields("issuedate")
For Each pi In .PivotItems
If pi < Date Then
pi.Visible = False
End If
Next pi
End With
【问题讨论】:
-
我曾经遇到过来自 SQL Server 的日期的类似问题。问题是 Excel 不理解来自 SQL Server 的
datetime字段,因为它包含毫秒。所以日期格式是2015-02-04 00:00:00.000。 Excel 无法理解这一点。但是如果你把它改成2015-02-04 00:00:00,那么它就可以工作了。会不会是这个问题? -
你也可以使用函数
DateDiff。
标签: vba excel date date-comparison