vbaでピボットに左上隅のフィルターフィールドの項目で日付によるフィルターをかけたところ、笑えるぐらいの遅さのため、断念した。左上隅のフィルターフィールドの項目をフィルターするには、ひとつひとつの項目を表示(項目.visible=True)するのか、非表示(false)とするのかの設定しなければならない。そして、この設定に恐ろしく時間がかかるためだ。
Dim pf As PivotField
itemsToHide = Array("date1", "date2", "date3")
pf.ClearAllFilters
For i = LBound(itemsToHide) To UBound(itemsToHide)
pf.PivotItems(itemsToHide(i)).Visible = False
Next i
数多の試行錯誤で、辿り着いたのは、左上隅のフィルターでななく、タイムラインとPivotFilters.Add2による日付フィルターであった。こちらは、とても高速で処理してくれる。