我正在寻找一种方法来恢复 Excel 2010 中图表的默认/本机调整大小行为,一旦它被禁用(例如,通过使用 VBA 操作图表)。
现在我无法在任何地方找到关于我所想到的行为的任何信息,所以我假设它需要详细解释。
将随机数值数据输入并选择到 Excel 中的 4-5 个单元格中,然后插入一个新的聚簇柱形图。您需要查看图表的绘图区域。现在选择图表,并使用以下行获取 PlotArea.Top 值
ActiveChart.PlotArea.Top
如果您还没有触摸图表,这应该返回值 7。现在使用图表的把手之一来垂直调整图表大小,并再次使用相同的命令行。
activechart.plotarea.top
注意返回的值仍然是 7。现在在 VBA 中将此属性设置为 7。
ActiveChart.PlotArea.Top = 7
再次,抓住其中一个把手,垂直调整图表大小并再次使用以下方法获取 .top 属性:
ActiveChart.PlotArea.Top
请注意该值现在是如何变化的。它会小于或大于 7,具体取决于您减小或增加图表的大小。
一旦图表的任何元素被手动或使用 VBA 代码移动,它就会失去这个“绝对位置”属性,并在图表调整大小时开始在 ChartArea 内移动。虽然可以使用 .SetElement 重置某些元素,但这不适用于绘图区域。例如,以下命令行不会恢复我所描述的行为。
ActiveChart.SetElement msoElementPlotAreaNone
ActiveChart.SetElement msoElementPlotAreaShow
我使用 VBA 自动调整图表大小,让绘图区域自行移动使得预测调整图表大小的效果变得更加困难,并导致结果不稳定。
回到这个问题:有没有人知道恢复这种默认行为的方法,无论是针对整个图表,还是至少专门针对 PlotArea?
提前感谢任何可能提供帮助的人!
文森特