【发布时间】:2016-12-09 06:52:11
【问题描述】:
我正在尝试在 VBA 中的图表中添加辅助垂直轴。我一直遇到这个错误,说对象_Chart 的方法Axes 失败。
我已经查找了解决方案并实施了一些解决方案,以确保辅助轴首先处于活动状态。我的代码如下。当我试图说明辅助轴有标题时,错误发生在倒数第三行。非常感谢任何帮助,因为我仍然是 VBA 的初学者。
Public Sub CreateChartForColumnsOneThreeandFive()
Dim myChartColumnsOneThreeandFive As ChartObject
Set myChartColumnsOneThreeandFive = ActiveSheet.ChartObjects.Add(Left:=150, Top:=150, Width:=500, Height:=400)
myChartColumnsOneThreeandFive.Chart.HasTitle = True
myChartColumnsOneThreeandFive.Chart.ChartTitle.Text = "Phase Detector Readback vs Substrate Forward Power"
myChartColumnsOneThreeandFive.Chart.Type = xlLine
myChartColumnsOneThreeandFive.Chart.SetSourceData Source:=ActiveWorkbook.Sheets("Sheet2").Range("C" & processRowBegin & ":C" & processRowEnd)
myChartColumnsOneThreeandFive.Chart.SetSourceData Source:=ActiveWorkbook.Sheets("Sheet2").Range("E" & processRowBegin & ":E" & processRowEnd)
myChartColumnsOneThreeandFive.Chart.SeriesCollection(1).Name = Range("C1")
myChartColumnsOneThreeandFive.Chart.SeriesCollection(1).Name = Range("E1")
myChartColumnsOneThreeandFive.Chart.SeriesCollection(1).Select
myChartColumnsOneThreeandFive.Chart.SeriesCollection(1).AxisGroup = 2
myChartColumnsOneThreeandFive.Chart.HasTitle = True
myChartColumnsOneThreeandFive.Chart.ChartTitle.Text = "Substrate Forward Power vs Phase Detector Readback"
myChartColumnsOneThreeandFive.Chart.Axes(xlCategory).HasTitle = True
myChartColumnsOneThreeandFive.Chart.Axes(xlCategory).AxisTitle.Caption = "Time"
myChartColumnsOneThreeandFive.Chart.Axes(xlValue, xlPrimary).HasTitle = True
myChartColumnsOneThreeandFive.Chart.Axes(xlValue, xlPrimary).AxisTitle.Caption = "Substrate Forward Power"
myChartColumnsOneThreeandFive.Chart.SeriesCollection(1).AxisGroup = xlSecondary
myChartColumnsOneThreeandFive.Chart.HasAxis(xlValue, xlSecondary) = True
myChartColumnsOneThreeandFive.Chart.Axes(xlValue, xlSecondary).HasTitle = True
myChartColumnsOneThreeandFive.Chart.Axes(xlValue, xlSecondary).AxisTitle.Select
myChartColumnsOneThreeandFive.Chart.Axes(xlValue, xlSecondary).AxisTitle.Text = _
"Phase Detector Readback"
End Sub
【问题讨论】:
-
你在哪一行得到你的错误?你熟悉如何使用
With吗?你的代码在为With myChartColumnsOneThreeandFive.Chart而尖叫 -
@ShaiRado 我在第 21 行遇到错误。这是我将辅助轴标题设置为 true 的地方。我不熟悉如何使用 With。那会摆脱错误吗?
-
不,但它会缩短您的代码并使其更清晰
-
好的,谢谢你的建议。我将研究它并开始在我的代码中实现它。您是否熟悉此错误消息?
-
我认为你的问题是你这里只有 1 个系列,我想你打算有 2 个,不是吗?一个系列看 C 列,另一个系列看 E 列,不是吗?这就是为什么您无法设置辅助轴的原因,您只有 1 个系列