看板 Office 關於我們 聯絡資訊
版本: excel 2007 各位好今天遇到一個問題 我用vba要執行樞紐時要用程式將篩選取消時遇到了一些問題 我用visible要將date的篩選取消 執行時出現無法設定種類的pivotitem的visible屬性 請問怎麼處理 我找不到哪裡有問題 程式碼如下 Sub Macro1() Dim a As PivotItem Dim b As String ' For Each a In ActiveSheet.PivotTables("樞紐分析表3").PivotFields("Date").Pivot Items a.Visible = False Next End Sub https://i.imgur.com/86RvjG9.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.13.224.182 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1568001578.A.F3B.html
soyoso: 以內文巨集來測試,如是將date下全部項目都隱藏的話,就09/09 12:31
soyoso: 會回傳該錯誤訊息 https://i.imgur.com/6eFPEaW.jpg09/09 12:31
soyoso: 因此問題方面,有可能要保留至少一項或是調整其他方式達成09/09 12:33
soyoso: 要的結果09/09 12:33
我執行第一個日期就失敗了他就出現這樣了 有什麼方式可以解決嗎 ※ 編輯: s52222b (101.13.224.182 臺灣), 09/09/2019 12:45:21 ※ 編輯: s52222b (101.13.224.182 臺灣), 09/09/2019 12:48:14
soyoso: 要從檔案來看比較清楚,如何排除該問題09/09 12:49
檔案如下https://drive.google.com/file/d/10ke3u7OnjF0O78_5lypX6NemEV1HfNbt/view ?usp=drivesdk 在麻煩您看哪裡有問題 ※ 編輯: s52222b (101.13.224.182 臺灣), 09/09/2019 15:23:19
soyoso: 連結要權限09/09 15:25
s52222b: 我把權限開囉09/09 15:27
soyoso: 檔案測試的問題就是我回文提到的要保留至少一項09/09 15:30
soyoso: 列標籤的日期在迴圈執行a.visible=false就一個個的被隱藏09/09 15:31
soyoso: 直到最後一個(空白)要被隱藏時就會出現該錯誤訊息09/09 15:32
soyoso: 也非原po回文寫到的執行第一個日期就失敗09/09 15:32
soyoso: 以上是測試於2016,我再改測試於內文寫到的2007試試09/09 15:36
soyoso: 測試於2007內確實不行,解決方式a.caption= format(09/09 16:08
soyoso: a.caption,"yyyy-m-d") 這樣a.visible=false是可正常執行09/09 16:09
soyoso: "yyyy/m/d"或是"@" 都可以 09/09 16:15
可以使用了 感謝神救援 那請問一下 有沒有什麼方式可以一次將全部的篩選取消 這樣就不用使用for跑 程式也比 較快 ※ 編輯: s52222b (101.13.224.182 臺灣), 09/09/2019 17:35:36
soyoso: 不太確定篩選取消的意思,是指全部顯示嗎? 09/09 17:41
soyoso: 是的話巨集內的...pivotfields(...).clearallfilters09/09 17:43
不是耶 我指的是有沒有辦法將所有的項目一次visible.false ※ 編輯: s52222b (123.205.177.120 臺灣), 09/09/2019 19:59:27
soyoso: 但所有項目全選(勾選取消)時,確定就反灰 09/09 21:05
soyoso: 且所提供的檔案,如用迴圈將所有的列標籤都隱藏一樣也會出 09/09 21:07
soyoso: 現內文的錯誤訊息(回文就提到的要保留至少一項) 09/09 21:08