首页 文章

Excel VBA - PivotItems返回不可用的值

提问于
浏览
1

在Excel工作簿中,我在工作表上有“静态”数据透视表,该表基于来自另一个工作表的数据 .

我正在刷新我的数据表上的数据(谢谢你队长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'(我将它翻译成法语,它可能是我的一些错误,对不起)“不可能定义属性可见的类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个项目,但是

enter image description here

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

那么这第四个PivotItems的元素来自哪里,我怎样才能获得它?谢谢 .

1 回答

  • 3

    我有一个令人惊讶的问题,你需要检查数据透视表选项:

    • 右键单击数据透视表,

    • 选择 Pivot Table options

    • 进入 Data 标签

    • 查找 Retain items deleted from the data source

    • Choose None for Number of items to retain per field

    • 然后刷新!一切都应该好了! ;)

    (那件事让我疯了几个小时!^^)

    enter image description here

相关问题