我需要通過VBA爲今天的日期選擇切片機項目。我曾嘗試兩種方法:在切片機上自動選擇今天的日期
使用SlicerItems方法,但SlicerItems導致
運行時錯誤 '1004':應用程序定義或對象定義錯誤
錯誤消息,即使當我使用最簡單的版本:
ActiveWorkbook.SlicerCaches(1).SlicerItems(1).Selected = True
我試過我可以對此進行每種變化,包括按名稱指定緩存,但我總是得到相同的錯誤。
我記錄一個宏,其產生不運行的線,並選擇特定的限幅器文件:
ActiveWorkbook.SlicerCaches("<NAME>").VisibleSlicerItemsList = Array("[VCC IntervalDate].[Hierarchy].[Year Number].&[2015].&[October].&[2015-10-13T00:00:00]")
我然後能夠使用變量來修改[2015]和[十月]數組中的值並取得成功。不過,我無法使用變量修改[2015-10-13T00:00:00]。它返回一個OLAP錯誤。
如果我手動修改的價值,我需要的日期,並通過設置變量的年/月值相匹配,它工作正常:
ActiveWorkbook.SlicerCaches("Slicer_VCC_IntervalDate.Hierarchy").VisibleSlicerItemsList = Array("[VCC IntervalDate].[Hierarchy].[Year Number].&[" & Year(d) & "].&[" & Month(d) & "].&[2015-10-14T00:00:00]")
我已經驗證的格式變量輸出正確的格式以匹配2015-10-14T00:00:00
,但它不接受它。我也試着只修改日期部分,並手動輸入T00:00:00
部分,但這也不起作用。
所以我正式難住,歡迎任何幫助。
您的切片機與普通數據透視表或與Power Pivot相關聯? – L42
也許你可以發佈沒有用的代碼? – Rory
這是Power Pivot。數據源是一個SQL數據立方體。我懷疑這是問題的一部分。 – Droz