[英]Excel 365 VBA date not working in custom autofilter
我创建了以下代码来过滤表 (GrafanaPMT),以过滤今天未来日期之后的所有日期。 前几行清除当前过滤器,最后一行将日期插入 excel 表,但不显示任何行(许多行的日期为未来)。
我也尝试过对今天的日期进行硬编码,尽管已添加到自定义自动过滤器中,但它也不会显示任何行。
如果我在过滤器中实际输入“19/08/2021”,则会显示超过 1000 行。
任何帮助将非常感激。
\[自动过滤器中显示的日期] 1
Sub MS4_not_6_over_3m()
'
' MS4_not_6_over_3m Macro
'
Dim today As Date
Sheets("Data").Select
ActiveSheet.ListObjects("GrafanaPMT").Range.AutoFilter Field:=5, Criteria1:="SEAL-RAN"
Rows("10:10").Select
ActiveWorkbook.Worksheets("Data").ListObjects("GrafanaPMT").Sort.SortFields.Clear
ActiveSheet.ShowAllData
ActiveSheet.ListObjects("GrafanaPMT").Range.AutoFilter Field:=11, Criteria1:=">=" & Format(today, "dd/mm/yyyy")
End Sub
尝试这个
Sub MS4_not_6_over_3m()
Dim ws As Worksheet: Set ws = Sheets("Data")
Dim ol As ListObject: Set ol = ws.ListObjects("GrafanaPMT")
Dim olCol As Integer
' clear table filters
If ol.AutoFilter.FilterMode Then ol.AutoFilter.ShowAllData
' Filter column 'mydate'
olCol = ol.ListColumns("myDate").Index ' Put here the name of your column
ol.Range.AutoFilter Field:=olCol, Criteria1:=">=" & Format(Date, "mm/dd/yyyy")
' OR
' ol.Range.AutoFilter Field:=olCol, Criteria1:=">=" & CDbl(Date)
End Sub
谢谢大家的建议,我使用了 Ron Rosenfeld 的解决方案并且效果很好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.