使用数据透视表扩展Excel条件格式?

时间:2014-10-07 11:30:35

标签: excel pivot-table conditional-formatting

将条件格式应用于数据透视表后,如果展开表格,如何自动更新条件格式以将自身应用于新的扩展数据透视表?

Attached is the sample excel file.

3 个答案:

答案 0 :(得分:4)

以下是http://yoursumbuddy.com/re-apply-excel-pivot-table-conditional-formatting/的帖子中的逐字记录。您可能也对http://yoursumbuddy.com/unified-method-of-pivot-table-formatting/感兴趣:

此代码的关键是每个ModifyAppliesToRange的{​​{1}}方法。此代码标识行标签范围的第一个单元格并循环遍历该单元格中的每个格式条件,并将其重新应用于由行标签范围和值范围的交集形成的范围,即第一个中的带状区域上面的图片。

此方法依赖于您要在第一行标签单元格中重新应用的所有条件格式。如果条件格式可能不适用于最左边的行标签,我仍然将它应用于该列,但修改了条件以检查它所在的列。

可以从SheetPivotTableUpdate事件修改和调用此函数,因此当用户或代码更新数据透视表时,它会自动重新应用。

FormatCondtion

答案 1 :(得分:1)

数据透视表格式无法响应格式化,并且具有不保留手动应用格式的历史记录,甚至没有提及扩展条件格式。如果需要,可能需要考虑在刷新后使用VBA重新应用格式,或者将条件格式应用于整行或整列。

答案 2 :(得分:0)

我正在使用2010,所以我不能说这可以在其他版本中使用, 另外,据我所测试,这只适用于你想要条件格式应用于数据透视表中的所有单元格(不只是一个特定的数据行,你可以排除总计,但我还没试过)

然而,在进行任何编码之前,如果您希望将格式应用于表格中的所有行,则可能需要快速尝试。

创建新工作表>在此新工作表>中输入条件格式到单元格中使用此单元格上的复制格式化画笔>返回您的数据透视表工作表并将格式从第一个左上角值向下拖动到最后一个左下角值。

刷新图表,展开折叠图表,不仅可以保留格式,而且即使从枢轴中删除所有字段并将其重新添加,也会保留原位。似乎通过这样做,它将格式应用于图表本身,而不是内部的单个单元格。

我偶然发现了这一点,但由于我经常在这里寻找答案,让人们知道我发现了什么似乎是正确的,即使这是一个侥幸。