Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba Excel 2010图表轴未显示_Vba_Excel_Charts_Excel 2010 - Fatal编程技术网

Vba Excel 2010图表轴未显示

Vba Excel 2010图表轴未显示,vba,excel,charts,excel-2010,Vba,Excel,Charts,Excel 2010,我正在将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][。如何使用图表中显示的自动值[0,0.5,1,1.5,2,2.5]生成y轴 谢

我正在将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][。如何使用图表中显示的自动值[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轴标签由于与值不匹配而混乱

当前图表-

显示缩放轴的所需图表-

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

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
.SeriesCollection(2).axisgroup = Excel.XlAxisGroup.xlPrimary

为了更完整一点,请尝试显式地处理每个值和类别,看看这是否有帮助

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,你使用双轴吗

设置如下:

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

*编辑*

要在轴上设置自动缩放,请执行以下操作:

.Axes(xlValue).MinimumScaleIsAuto = True
.Axes(xlValue).MaximumScaleIsAuto = True
.Axes(xlValue).MinorUnitIsAuto = True
.Axes().MajorUnitIsAuto = True
.Axes().DisplayUnit = xlHundreds

谢谢你的快速回复!我试过了,但是没有用。我用相关代码更新了我的问题。你能看看代码的那部分,看看你是否发现了问题。谢谢。再编辑一次,我想你的注释线的问题是2。你想把它设为双轴图表吗?把它改成我想要的线我在我的帖子Excel.XlAxisGroup.xlPrimary中显示了当我注释掉.SeriesCollection(2).axisgroup=2时,它应该默认为.SeriesCollection(2).axisgroup=Excel.XlAxisGroup.xlPrimary。我仍然无法按照您在此处提出的建议进行制作。但我确实看到显示了X、Y轴表格,但未显示比例。我在编辑中附加了我当前的图表和所需的图表。是否需要手动缩放?Excel 2003图表会自动为我进行缩放。为什么不显示2010?我最后的评论aAbout axisgroup=2对于这种类型的图表可能不准确。根据我的经验,2010将自动缩放它。我的下一个猜测是操作顺序。您也可以设置自动缩放,请参见上面的“编辑”。@Portand Runner,谢谢。这就成功了。