我的日期过滤器有问题。由于某些原因,VBA不工作,如果我手动执行完全相同的过程,过滤器可以正常工作,但是对于VBA,过滤器返回"nothing",这是假的。
基本上,我在第8栏中有日期值,我希望看到在我的ComparisonDate之后的日期值。
对为什么这不起作用有什么想法吗?
Sub Datefilter()
If ActiveSheet.AutoFilterMode = True Then
ActiveSheet.AutoFilterMode = False
End If
headerRow = Range("Headers").Row
lRow = Range("E1048576").End(xlUp).Row
ComparisonDate = Sheets("Start").Range("Date_CP").Value
Range("A" & headerRow & ":M" & lRow).AutoFilter field:=8, Criteria1:=">" & ComparisonDate
End Sub发布于 2019-12-08 07:39:41
我假设ComparisonDate确实是一个日期,那么您需要在代码中添加下一行,并将日期转换为双值。
ComparisonDate = CDbl(ComparisonDate)这意味着您的代码应该是这样的
Sub Datefilter()
If ActiveSheet.AutoFilterMode = True Then
ActiveSheet.AutoFilterMode = False
End If
headerRow = Range("Headers").Row
lRow = Range("E1048576").End(xlUp).Row
ComparisonDate = Sheets("Start").Range("Date_CP").Value
ComparisonDate = CDbl(ComparisonDate)
Range("A" & headerRow & ":M" & lRow).AutoFilter field:=8, Criteria1:=">" & ComparisonDate
End Subhttps://stackoverflow.com/questions/59232940
复制相似问题