这只是我写的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
答案 0 :(得分:0)
您是否检查过列类型是日期而不是字符串?也许试试CDate(pi)?
如果这不起作用,请发布不起作用的日期 - 可能是通过执行Debug.print(pi)。