2016-10-13 74 views
0

我試圖使用代碼this link,但我不斷收到運行時錯誤438「對象不支持此屬性或方法」爲取消選擇透視表項錯誤

ActiveSheet.PivotItems(1).Visible = True 

沒有人行知道發生了什麼事?

全碼:

Sub DeleteAllFields() 
    Dim i As Long 
    ActiveSheet.PivotItems(1).Visible = True 
     For i = 2 To ActiveSheet.PivotItems.Count 
      ActiveSheet.PivotItems(i).Visible = False 
     Next 
End Sub 

充分披露 - 我是新手VBA用戶。

謝謝!

回答

0

錯誤與您使用.PivotItems()時與對象ActiveSheet有關。

PivotItems()屬性是PivotFields()對象的一部分,所以你會需要這樣的東西:

ActiveSheet.PivotTables("PivotTable1").PivotFields("Example Field").PivotItems(1).Visible = True 
+0

嗨約旦,感謝您的答覆。儘管如此,我仍然有點困惑。爲什麼你需要調出隱藏字段是代碼的想法是隱藏除i = 1之外的所有字段? – user7003894

+0

你基本上只是在數據透視表中顯示行,如果你還沒有隱藏任何行,它將不會有任何區別,但是如果你設置了'.Visible = False',那麼它會隱藏一行。您可以使用索引編號循環查看數據透視表項。 '.PivotItems(i)'並檢查'.PivotItems(i).Name'是否符合標準並基於此隱藏或顯示 - 這通常是該函數的用途。 – Jordan