Excel 需要帮助跨多个条形图应用统一的最大高度,而不考虑最大Y轴值吗
我不确定我的措辞是否正确,但我希望无论最大值是多少,我的条形图都处于相同的高度。例如,如果在一个条形图上,Y轴上的最大值为7,而在另一个条形图上,Y轴上的最大值为10,则我希望两个条形图的高度相同。请注意,最大值为10的图表和其他值为11的图表具有相同的高度。有什么想法吗?试试这个 将此例程置于标准代码模块中:Excel 需要帮助跨多个条形图应用统一的最大高度,而不考虑最大Y轴值吗,excel,charts,Excel,Charts,我不确定我的措辞是否正确,但我希望无论最大值是多少,我的条形图都处于相同的高度。例如,如果在一个条形图上,Y轴上的最大值为7,而在另一个条形图上,Y轴上的最大值为10,则我希望两个条形图的高度相同。请注意,最大值为10的图表和其他值为11的图表具有相同的高度。有什么想法吗?试试这个 将此例程置于标准代码模块中: Sub EqualChartHeights() Const SPEC_TOP = 100 Const SPEC_HEIGHT = 175 Dim c Fo
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
最简单的方法是使用VBA例程使给定工作表中的所有图表具有相同的高度。这就是你想要的吗?接近,但不完全。这使得所有图表容器的高度/宽度相同,但当一个图表的最大值为10,另一个图表的最大值为11时,仍然显示10比11短。另外,它将所有图表移到同一行,这没有帮助,因为此文档将被更新多次。不过谢谢,我觉得我已经接近了……我应该重新措辞,说它不是图表的大小,而是比例。尺寸也很重要,但比例才是我想要的。一张图表上的最大值“3”应与另一张图表上的最大值“10”一致。是的,重新措辞会产生所有差异。你要的是尺码。我将为规模而返工。正如我提到的,同样的技术可以用于大多数图表属性。我会拿走最上面的财产,这就是把他们放在同一排的原因