作者s52222b (陳豬靜)
看板Office
標題[算表] vba 樞紐分析表問題
時間Mon Sep 9 11:59:36 2019
版本: 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://webptt.com/m.aspx?n=bbs/Office/M.1568001578.A.F3B.html
1F:→ soyoso: 以內文巨集來測試,如是將date下全部項目都隱藏的話,就09/09 12:31
3F:→ soyoso: 因此問題方面,有可能要保留至少一項或是調整其他方式達成09/09 12:33
4F:→ 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
5F:→ 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
6F:→ soyoso: 連結要權限09/09 15:25
7F:→ s52222b: 我把權限開囉09/09 15:27
8F:→ soyoso: 檔案測試的問題就是我回文提到的要保留至少一項09/09 15:30
9F:→ soyoso: 列標籤的日期在迴圈執行a.visible=false就一個個的被隱藏09/09 15:31
10F:→ soyoso: 直到最後一個(空白)要被隱藏時就會出現該錯誤訊息09/09 15:32
11F:→ soyoso: 也非原po回文寫到的執行第一個日期就失敗09/09 15:32
12F:→ soyoso: 以上是測試於2016,我再改測試於內文寫到的2007試試09/09 15:36
13F:→ soyoso: 測試於2007內確實不行,解決方式a.caption= format(09/09 16:08
14F:→ soyoso: a.caption,"yyyy-m-d") 這樣a.visible=false是可正常執行09/09 16:09
15F:→ soyoso: "yyyy/m/d"或是"@" 都可以 09/09 16:15
可以使用了 感謝神救援
那請問一下 有沒有什麼方式可以一次將全部的篩選取消 這樣就不用使用for跑 程式也比
較快
※ 編輯: s52222b (101.13.224.182 臺灣), 09/09/2019 17:35:36
16F:→ soyoso: 不太確定篩選取消的意思,是指全部顯示嗎? 09/09 17:41
17F:→ soyoso: 是的話巨集內的...pivotfields(...).clearallfilters09/09 17:43
不是耶 我指的是有沒有辦法將所有的項目一次visible.false
※ 編輯: s52222b (123.205.177.120 臺灣), 09/09/2019 19:59:27
18F:→ soyoso: 但所有項目全選(勾選取消)時,確定就反灰 09/09 21:05
19F:→ soyoso: 且所提供的檔案,如用迴圈將所有的列標籤都隱藏一樣也會出 09/09 21:07
20F:→ soyoso: 現內文的錯誤訊息(回文就提到的要保留至少一項) 09/09 21:08