使用VBA在辅助X轴上放置图表系列

我有一个折线图,我试图通过VBA添加一个给定Y值的水平线。 我遵循这个指南 ,build议在现有图表中添加一行,然后将其types更改为散点图,这将导致Excel自动将该系列放在第二个X轴上。 然后可以进一步格式化。

我的问题是,这样做与VBA时,我不明白如何切换到辅助X轴的一条线。 默认情况下,所有新行将在主X轴上。

例如,假设chrt是一个Chart对象:

 ' Enable secondary X axis (I think) chrt.HasAxis(XlAxisType.xlCategory, XlAxisGroup.xlSecondary) = True Dim se As Series Set se = chrt.SeriesCollection.NewSeries se.ChartType = xlXYScatterLinesNoMarkers ' Add a line at Y = 0 se.xValues = Array(0, 1) se.values = Array(0, 0) 

现在,如何让第二个X轴?

我跟着这个链接Excel 2003,并logging了一个macros。 请注意,对于Excel 2007图表来说,录制macros有这样一个不幸的情况。 但是,你再次在Excel 2010中运气不错。 所以,要注意你的版本,如果你打算做一个macros的基础上,然后复制代码…

根据你的改变图表和图表名称。

 With Sheets(3).ChartObjects("Chart 1") .SeriesCollection(2).AxisGroup = xlSecondary .HasAxis(xlCategory, xlPrimary) = True .HasAxis(xlCategory, xlSecondary) = True .HasAxis(xlValue, xlPrimary) = True .HasAxis(xlValue, xlSecondary) = True .Axes(xlCategory, xlPrimary).CategoryType = xlAutomatic .Axes(xlCategory, xlSecondary).CategoryType = xlAutomatic End With