正如标题所述,我试图通过 VBA 使用过滤器来隐藏过滤表中未来的所有日期条目并对其进行计数,但无论我如何尝试,代码都无法工作。
我目前的做法如下:
Dim wbkPlanning As Workbook
Dim wksPlanning As Worksheet
Dim FilterValue as Integer
Workbooks.Open (.... Some Path...) 'this works as i have several other Autofilters in this macro that do the job just fine)
Set wbkPlanning = Workbooks("NAMEOFWORKBOOK.xlsx")
Set wksPlanning = wbkPlanning.Worksheets("NameOfWorksheet")
wksPlanning.Range("$A$4:$AS$600").AutoFilter Field:=24, Criteria1:="=<" & CDbl(Date)
FilterValue = wksPlanning.AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count - 1
MsgBox FilterValue
当我在工作表中手动设置过滤器时,结果很好,但是当我像这样设置时,我得到零结果。
我有点困惑,非常希望得到一些建议。
谢谢!
答案1
工作表中的其他过滤器阻止日期过滤器显示正确的结果。CDbl(日期) 标准有效。