如何检测空白PivotItem的可见性

Excel工作表上有一个数据透视表。 它有一个名为“季节”的字段,它是一个有多个select和一些空白值的报告字段。 我想看看是否在filter(即可见)select空白值与下面的代码。

Sub ShowVisbilityOfBlankItem() Dim PivotField As PivotField Set PivotField = ActiveSheet.PivotTables(1).PivotFields("Season") Dim PivotItem As PivotItem Set PivotItem = PivotField.PivotItems("(blank)") Debug.Print PivotItem.Visible ' Runtime Error 13: Type mismatch End Sub 

但是,最后一行会导致运行时错误13:types不匹配。 其他PivotItem不会发生这种情况。 这是Excel(2010)或我的代码中的错误? 还有另一种方法来确定空白是否可见?

可以设置空白PivotItem的可见性。 此外,本地窗口显示值为TruePivotItem.Visible ,无论是否可见。

谷歌search后,得到相同的错误,我遇到了一个不同的问题这个答复: https : //stackoverflow.com/a/39107082/1626443

我认为这个问题与Excel语言版本有关,只有当字面值(blank)才能处理。 我正在使用德语版本,之前是(leer) ,而且没有工作。

这为我删除了错误:

 sStore = pi.Value pi.Value = sStore If pi.Visible Then 'no more error 

请注意,你在技术上只需要做一次,我认为下面的代码也应该工作:

 If pi.Value = "(BLANK_IN_YOUR_LANGUAGE)" Then pi.Value = "(blank)" 

甚至可能是这个:

 If pi.Value = "(BLANK_IN_YOUR_LANGUAGE)" Then pi.Value = pi.Value 

说实话,这是一个非常奇怪和令人沮丧的错误。

我知道这是一年前,但也许它仍然帮助你或其他人在他的旅程通过PivotItems