我有一张图表,其中垂直 (Y) 轴上有时间值。由于值可能会发生很大变化,因此轴小单位和大单位的格式是自动的。
问题在于,Excel 选择的值如果是小数可能很好,但如果使用时间则并不理想。
例如,0:00、0:28、0:57、1:26、1:55、2:24、2:52(它们对应于小数点后 0.02 的步长)
有没有办法自动的规模看起来不错在纵轴上使用时间时?
答案1
您可以使用 VBA 来确保最大值始终为整小时,并且小单位为 5 分钟,大单位为 10 分钟。
根据您想要自动化的程度,宏可能会变得非常复杂。更简单的方法是使用四个工作表单元格,您可以在其中输入所需的最小值、最大值、主要值、次要值作为时间值,图表会立即更新。
例如,工作表中的更改事件可能如下所示:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("chrtSettings")) Is Nothing Then
With ActiveSheet.ChartObjects("Chart 1").Chart
.Axes(xlValue).MinimumScale = Range("min")
.Axes(xlValue).MaximumScale = Range("max")
.Axes(xlValue).MajorUnit = Range("major")
.Axes(xlValue).MinorUnit = Range("minor")
End With
End If
End Sub
工作表中有一系列单元格(带有范围名称),可以快速设置其中的值