EXCEL VBA でフィルタリングされたテーブル内の今日までのエントリを表示してカウントする

EXCEL VBA でフィルタリングされたテーブル内の今日までのエントリを表示してカウントする

タイトルにあるように、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(Date) 条件は機能しました。

関連情報