我試圖選擇一個報告過濾器,在這種情況下是加拿大。這意味着其餘部分必須隱形。 此代碼的工作沒有問題:循環顯示報告過濾器以更改可見性不起作用
Public Sub FilterPivotTable()
With ActiveSheet.PivotTables("Epidemiology").PivotFields("COUNTRY")
.PivotItems("Canada").Visible = True
.PivotItems("USA").Visible = False
.PivotItems("Germany").Visible = False
.PivotItems("France").Visible = False
End With
End Sub
不過,我想爲當我們添加其他國家對我們的「流行病學」數據透視表準備,所以我想有一個for循環。此代碼不起作用:
With ActiveSheet.PivotTables("Epidemiology").PivotFields("COUNTRY")
.PivotItems("Canada").Visible = True
For Each Pi In .PivotItems
If Pi.Value = "CANADA" Then
Pi.Visible = True
Else
Pi.Visible = False
End If
Next Pi
End With
它給了我一個錯誤的Pi.Visible = False
線。我得到的錯誤是Run-time error '1004': Unable to set the Visible property of the PivotItem class
爲什麼它在for循環內不起作用?
令人沮喪的是,我在網上找到的所有例子都使用類似的語法。 (有些使用索引,但我試過並得到相同的錯誤。)
@ user1507455嗨,我試了相同的代碼。但它不適合我。你可以請解決它:http://stackoverflow.com/questions/38571986/error-1004-unable-to-set-the-visible-property-of-the-pivotitem-class – Pramod
@SiddharthRout你能幫忙嗎? – Pramod