Excel VBA - PivotItems returns 不重要的值

Excel VBA - PivotItems returns inexesting value

在 Excel 工作簿中,我在 sheet 上有 "static" 枢轴 table,它基于另一个 sheet 的数据。

我正在刷新我的数据 sheet(谢谢队长 Obvious!),然后我想显示所有项目,空白项目除外,所以我 运行抛出所有 PivotItems 以将它们设置为可见,最后,取消选择空白:

i = 1

ThisWorkbook.Sheets("TCD").PivotTables(i).PivotFields("CODETAT").ClearAllFilters
ThisWorkbook.Sheets("TCD").PivotTables(i).PivotCache.MissingItemsLimit = xlMissingItemsNone
For Each PvI In ThisWorkbook.Sheets("TCD").PivotTables(i).PivotFields("CODETAT").PivotItems
    PvI.Visible = True
Next

ThisWorkbook.Sheets("TCD").PivotTables(i).PivotFields("CODETAT").PivotItems("(blank)").Visible = False

在我的循环的最后一次发生时,在第 4 个 PivotItems 上,我有一个执行错误“1004”(我会从法语翻译它,可能会出现一些错误,抱歉)"Impossible to define the property Visible of the class PivoItem",所以我检查了一些东西:

?ThisWorkbook.Sheets("TCD").PivotTables(i).PivotFields("CODETAT").PivotItems.count
 4 

对于 x = 1 到 4 :

?ThisWorkbook.Sheets("TCD").PivotTables(i).PivotFields("CODETAT").PivotItems(x)
(blank)
SFT
ACQ
TEP

我的数据透视表中似乎有 4 个项目 Table,但是

而且,当我检查我的数据时,我只有 2 个不同的统计数据:

那么这个第 4 个 PivotItems 的元素是从哪里来的,我怎样才能驾驭它? 谢谢。

我遇到了这样一个令人惊讶的问题,您需要检查 Pivot Table 选项:

  • 右击枢轴 table,
  • Select Pivot Table options
  • 进入Data选项卡
  • 查找Retain items deleted from the data source
  • Number of items to retain per field!
  • 选择 None
  • 那就刷新吧!现在一切都应该OK了! ;)

(那件事让我抓狂了好几个小时!^^)