Vba 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轴 谢谢 更新相关代码-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轴 谢
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,谢谢。这就成功了。