我不确定我是否写得恰到好处,但我想让我的条形图全部保持在同一高度,无论最大值如何。值。例如,如果在一个条形图上我的最大值。 Y轴上的值为7,另一个条形图为最大值。 Y轴上的值是10我希望两个条形图的高度相同。 Here is a reference for what I'm trying to do.注意带有最大值的图表。值为10,另一个为11,高度相同。有什么想法吗?
答案 0 :(得分:0)
试试这个。
将此例程放在标准代码模块中:
Sub EqualChartHeights()
Const SPEC_TOP = 100
Const SPEC_HEIGHT = 175
Dim c
For Each c In ActiveSheet.ChartObjects
c.Top = SPEC_TOP
c.Chart.ChartArea.Height = SPEC_HEIGHT
c.Chart.PlotArea.Height = SPEC_HEIGHT
Next
End Sub
切换到带有嵌入式图表的工作表,然后按Atl-F8显示宏对话框。
运行EqualChartHeights
那就是它。
您可以通过编辑前两行来管理高度和最高值。
注意:可以轻松扩展此技术以同步其他图表属性,例如宽度,网格线,刻度线等。
<强>更新强>
根据您的更新要求,请尝试以下修订程序:
Sub EqualChartHeights()
Const SPEC_HEIGHT = 175
Dim c, p, MaxPoint
For Each c In ActiveSheet.ChartObjects
With c.Chart
MaxPoint = 0
For Each p In .SeriesCollection(1).Values
If p > MaxPoint Then MaxPoint = p
Next
.Axes(xlValue).MaximumScale = MaxPoint
.ChartArea.Height = SPEC_HEIGHT
.PlotArea.Height = SPEC_HEIGHT
End With
Next
End Sub