5

我有一个折线图,我试图通过 VBA 在给定 Y 值处添加一条水平线。我正在关注本指南,该指南建议在现有图表中添加一条线,然后将其类型更改为散点图,这会导致 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)

现在,如何se进入辅助 X 轴?

4

1 回答 1

11

我按照Excel 2003 的这个链接记录了一个宏。请注意,对于 Excel 2007 图表有这样一个不幸的情况下录制宏。但是您再次在 Excel 2010 中走运。因此,如果您要基于宏执行此操作,请注意您的版本,然后复制代码...

根据您的更改工作表和图表名称。

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
于 2013-01-13T13:21:43.977 回答