我試圖從一個切片器中選擇和取消選擇多個切片器項目,直到所有選擇都完成後才觸發更新。我可以很簡單地在Excel前端通過按住Ctrl鍵單擊我想要的所有選項來完成此操作。但是,當我用這種行爲記錄一個宏並運行它時,它會在每次選擇/取消選擇後更新(記錄的宏只是With
塊中的一堆.Selection = True/False
語句)。Excel VBA - 一次選擇多個切片器項目而不刷新
我使用SlicerCaches.VisibleSlicerItemsList
功能嘗試過,但拋出一個1004應用程序錯誤 - 甚至當我使用SlicerItem.Name
場來填充數組:
Dim tntw(0 To 2) as Variant
For i = 0 To 2
tntw(i) = sc.SlicerItems(i + 1).Name
Next i
sc.VisibleSlicerItemsList = tntw
我也試着將所有依賴數據透視表手動更新爲此,以及試圖將application.calculation設置爲手動(並切換回到最後),但都沒有完成我正在尋找。
任何想法?
在執行代碼之前,您是否嘗試過'Application.EnableEvents = False',然後在重置之後? –
看起來這樣做 - 謝謝!作爲一個說明,我需要在我上次選擇之前將事件重新打開,所以我需要捕獲的其他事件實際上已經觸發了,但是這似乎起到了作用。 –
很高興聽到它! –