![刷新后如何保持数据透视图格式?](https://linux22.com/image/1555827/%E5%88%B7%E6%96%B0%E5%90%8E%E5%A6%82%E4%BD%95%E4%BF%9D%E6%8C%81%E6%95%B0%E6%8D%AE%E9%80%8F%E8%A7%86%E5%9B%BE%E6%A0%BC%E5%BC%8F%EF%BC%9F.png)
当我创建数据透视图时,我将格式应用到图表,例如更改某些系列的颜色。
然而,当点击刷新,格式将恢复为默认颜色。
刷新后如何保持图表格式?
答案1
选择数据透视图中的数据系列。右键单击并选择“设置数据系列格式...”选择颜色选项(油漆桶),然后选择纯色填充(或任何您想要的颜色),但关键是选择除自动之外的其他颜色。设置您想要的颜色。保存文件,退出(不确定是否需要退出,但您可以自己找出答案),打开文件,刷新数据透视表,您的格式应该保持上次设置的状态。
答案2
也遇到了这个问题。您需要做的是右键单击图表本身内的图表元素(例如,如果是条形图,则右键单击条形图本身),然后直接在出现的右键单击菜单顶部的弹出窗口中编辑颜色(而不是在工作簿侧面板上的“格式化数据系列”菜单中)。不知道为什么这样做有效,但不知何故,在这里编辑颜色使其在单击不同的切片器按钮时停止重置为自动颜色。
答案3
当我添加过滤器或使用切片器时,数据透视图系列格式发生了变化,我也遇到了类似的问题。我有一个组合图,系列样式从线图变为堆积条形图。
我的解决方案是向工作表添加一些 VBA 代码。我的代码如下。
Private Sub Worksheet_Calculate()
ActiveSheet.ChartObjects("Chart 3").Activate
ActiveChart.FullSeriesCollection(1).ChartType = xlColumnStacked
On Error Resume Next
ActiveChart.FullSeriesCollection("Limit").ChartType = xlLine
ActiveChart.Deselect
End Sub
代码中的第一行在每次工作表重新计算时执行代码块。我的代码在尝试格式化“限制”时间序列时抛出错误。添加“On Error Resume Next”行意味着如果它抛出错误,代码将继续运行。
要将其添加到工作表,右键点击并点击查看代码。
将 VBA 代码粘贴到工作表中,保存并关闭编辑器。尝试刷新图表。如果出现错误,您可能需要调试几次。
如果您不习惯编写代码,您可以通过录制宏来创建代码,然后按照上述方法将代码复制并粘贴到工作表选项卡中。它还可以帮助您找到对象的名称或 ID。
我刚刚玩了一下并让以下示例运行起来。它选择一个图表时间序列并将其涂成绿色。
Private Sub Worksheet_Calculate()
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.FullSeriesCollection(2).Select
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(0, 176, 80)
End With
ActiveChart.Deselect
End Sub