Sub CleanCaption()
For Each sht In Worksheets
For Each pvt In sht.PivotTables
For Each fld In pvt.PivotFields
If Not IsError(fld.Position) Then
For Each itm In fld.PivotItems
If Not itm.Caption = itm.SourceNameStandard Then itm.Caption = itm.SourceNameStandard
Next
End If
Next
Next
Next
End Sub
9条答案
按热度按时间fwzugrvs1#
行标签无法更新的原因是透视表只能刷新值字段中的数据,解决方法如下:1.打开数据透视表字段设置窗口,将行字段中的项(在您的情况下为“洲”)移动到值字段。2.刷新数据透视表3.将值字段中的项“洲”移回行字段。
您将看到行标签返回到它在数据源中的样子。
而且这次行动不会改变你之前定下的其他条件。
ttcibm8c2#
覆盖的行项目可以通过以下步骤刷新:
wgxvkvu93#
设置行排序和自动排序(默认)。这应该可以解决你的问题。
mcdcgff04#
这段代码搜索每个透视表中的每个透视项,并用行和列字段项的原始名称替换标题。
w9apscun5#
覆盖数据透视表行标签上的值也有效。
在您的示例中,覆盖数据透视表上的值,将“南极洲”改回读为“南美洲”。刷新似乎对我再次起作用,好吧。
f87krz0w6#
我遇到了同样的问题。当我向源数据添加新数据时,现有的透视表从源数据运行,当我刷新透视表时,我看不到新数据。
我找到的“本地”解决方案是:
1.重命名源数据中的问题列。
1.刷新数据透视表,由于列名已更改,数据透视表将删除该数据字段。
1.编辑透视表,使其现在选择重命名的列。
...然后您的新数据应该显示
yeotifhr7#
http://www.contextures.com/xlPivotAddIn.html上的“PivotPower Free加载项”可以做到这一点(不需要“Premium”版本)。安装后,使用
Add-Ins -> PIVOT -> Formatting -> Reset Captions
。仍在寻找“原生”解决方案。
krcsximq8#
我在遇到一个类似的问题后发现了这个问题,但与我的度量列名。因为我不能移动这些度量到行字段,我不能实现“移动项,刷新,移回项”,但经过大量的搜索,我至少能够看到原始源表列名是在列的
Value Field Settings
:这样,如果有人污染了度量,您至少可以检查并手动重命名它们。
gblwokeq9#
透视表可以删除后重新创建
不确定这个方法对你来说是否足够好:)