excel - Excel 365 VBA 日期在自定义自动过滤器中不起作用
问题描述
我创建了以下代码来过滤表(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
推荐阅读
- r - R-比较组中跨多列的行
- c++ - Libcurl 未解析的外部符号 VS2019 (cpp)
- prolog - Prolog中的堆排序
- c++ - 如何监控网络流量和浏览器活动
- mongodb - 读取 X.509 证书时出现“asn1:结构错误:整数未进行最低编码”
- javascript - 如何对 D3 SVG 贝塞尔线进行动画处理以获得微妙的波浪效果
- jquery - jQuery 动画滑块无限循环
- python - 使用 Keras 进行布尔标签训练会导致错误“请提供具有相同第一维的数据”
- php - 2020 年 11 月 1 日星期日 00:00:00 GMT+0530(印度标准时间)到 PHP 中的 Ymd
- flutter - 周期性计时器有时会延迟并且不会故意抖动