Abi*_*iel 4 excel vba excel-vba
我有一个折线图,我试图通过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)
Run Code Online (Sandbox Code Playgroud)
现在,如何se进入辅X轴?
bon*_*igo 10
我按照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
Run Code Online (Sandbox Code Playgroud)