0

我正在将 EXCEL 2003 应用程序转换为 EXCEL 2010。数据显示正常,但轴不再显示。自动刻度显示轴的功能是什么?

例如:如果您在 Excel 折线图中绘制以下系列。[0.22,0.33,0.44,0.55,0.66,0.77,0.88,0.99,1.1,1.21,1.32,1.43,1.54,1.65,1.76,1.87,1.98,2.09,2.2] Excel确定y轴值应该是[ 0,0.5,1,1.5,2,2.5] [ Excel如何确定图表的轴值?1 . 如何使用图表中显示的自动值 [0,0.5,1,1.5,2,2.5] 制作 y 轴?

谢谢

更新了相关代码 -

With ActiveChart
         .SeriesCollection(2).Select
         '.SeriesCollection(2).AxisGroup = 2

         .HasTitle = True
         .ChartTitle.Text = OutputTitle & Chr(10) & ChartTitle2
         .Axes(xlValue).HasTitle = True
         .Axes(xlValue).AxisTitle.Text = AxisTitle1
         .Axes(xlValue).AxisTitle.Font.Bold = False
         .HasAxis(Excel.XlAxisType.xlCategory, Excel.XlAxisGroup.xlPrimary) = True
         .Export Filename:=ExportFile, FilterName:="GIF"
End with

如果我取消注释 '.SeriesCollection(2).AxisGroup = 2,我将显示 y 轴,但 x 轴标签因与值不匹配而混乱。

当前图表 - 在此处输入图像描述

显示比例轴的所需图表 - 在此处输入图像描述

4

1 回答 1

2

要确保轴处于打开状态,请使用以下命令:

With xlApp.ActiveChart
        .HasAxis(Excel.XlAxisType.xlCategory, Excel.XlAxisGroup.xlPrimary) = True
End With

除非另有规定,否则范围值是自动的,如下所示:

' Set Axis Scales
    With xlApp.Charts("Chart Name").Axes(2)
        .MinimumScale = 100
        .MaximumScale = 2000
        .MajorUnit = 1000
        .MinorUnit = 100
    End With

只是为了更完整一点,尝试明确解决每个值和类别,看看是否有帮助。

With xlApp.ActiveChart
  .SeriesCollection(1).XValues = "='sheet name'!R21C4:R46C4"
  .SeriesCollection(1).Values = "='sheet name'!R21C5:R46C5"
  .SeriesCollection(1).Name = "='series name'"
  .SeriesCollection(1).axisgroup = Excel.XlAxisGroup.xlPrimary
  .HasAxis(Excel.XlAxisType.xlCategory, Excel.XlAxisGroup.xlPrimary) = True
  .HasAxis(Excel.XlAxisType.xlValue, Excel.XlAxisGroup.xlPrimary) = True
  .Axes(Excel.XlAxisType.xlCategory, Excel.XlAxisGroup.xlPrimary).HasTitle = True
  .Axes(Excel.XlAxisType.xlCategory, Excel.XlAxisGroup.xlPrimary).AxisTitle.Characters.Text = "x axis"
  .Axes(Excel.XlAxisType.xlValue, Excel.XlAxisGroup.xlPrimary).HasTitle = True
  .Axes(Excel.XlAxisType.xlValue, Excel.XlAxisGroup.xlPrimary).AxisTitle.Characters.Text = "y axis"
End With

我看到您的轴组设置为 2,您使用的是双轴吗?

像这样设置它:

.SeriesCollection(2).axisgroup = Excel.XlAxisGroup.xlPrimary

*编辑*

要在轴上设置自动缩放:

.Axes(xlValue).MinimumScaleIsAuto = True
.Axes(xlValue).MaximumScaleIsAuto = True
.Axes(xlValue).MinorUnitIsAuto = True
.Axes().MajorUnitIsAuto = True
.Axes().DisplayUnit = xlHundreds
于 2013-10-02T17:57:33.877 回答