我有一个 Excel 文档(2007),其中有一个图表(簇状柱形图),该图表从包含计算值的单元格中获取其数据系列
计算值不会直接改变,而只是由于工作表中其他单元格的变化而改变
当我更改工作表中的其他单元格时,数据系列单元格会重新计算并显示新值 - 但基于此数据系列的图表拒绝自动更新
我可以通过保存/关闭或切换其中一个设置(例如反转 x/y 轴然后将其放回原位)或重新选择数据系列来更新图表
我在网上找到的所有解决方案都不起作用
- I have Calculation set to automatic
- Ctrl+Alt+F9 updates everything fine, EXCEPT the chart
- I have recreated the chart several times, and on different computers
- I have tried VBA scripts like:
Application.Calculate
Application.CalculateFull
Application.CalculateFullRebuild
ActiveWorkbook.RefreshAll
DoEvents
这些都无法更新或刷新图表
我确实注意到,如果我在数据系列中输入实际数字而不是计算结果,它将更新图表 - 就好像 Excel 不想识别计算中的变化一样
有人遇到过这种情况吗?或者知道我该怎么做才能解决这个问题?谢谢
答案1
我和原作者有同样的问题。我也尝试了他做的所有事情,但都不起作用。我现在还检查了计算选项,它是自动的,就像它应该的那样。其他一切都正常,计算也很好,但这个图表在数据变化时不会更新(数据使用一种特殊的函数来计算,该函数将不同颜色的数字与另一组数据分开)。
我找到了一个临时解决方案,并制作了一个宏(以及一个按钮),它首先以类似于 Ctrl+Alt+F9 的方式更新数据,然后将图表的行切换为列,然后再将列切换为行。很奇怪,但有效。
我用这个来切换它们:
ActiveChart.PlotBy = xlColumns
ActiveChart.PlotBy = xlRows
当然,我更愿意找到解决问题的真正方法,但到目前为止,这种方法也有效……
答案2
不确定 2007 版是否如此,但有设置可以关闭自动计算。查看计算选项,看看是否设置为手动。
答案3
检查 ThisWorkbook 属性中的 ForceFullCalculation 属性是否设置为 True。我注意到,如果上述属性设置为 True,图表将不再自动更新,我猜这是一个副作用。如果将其重新设置为 False,一切都会恢复正常。