如果在NewSeries系列上使用.AxisGroup之前未调用.Activate,则引发Excel VBA运行时错误
我正在为Excel电子表格编写一个宏来更新图表,并添加一条垂直的“Now Line”来轻松定位日期 我已经搜索过了,但错误的表现似乎与其他错误不同。当excel首次启动时,宏的第一次运行将始终失败,除非我在运行宏之前查看包含至少一次要更新的图表的工作表 第一次运行之后的任何运行都将始终成功,即使第一次运行失败。这对我来说似乎非常独特,我的猜测是,当excel启动时,某些图表属性没有加载到内存中 这让我找到了解决办法,在设置序列属性之前,为包含序列的图表包含一个.Activate语句如果在NewSeries系列上使用.AxisGroup之前未调用.Activate,则引发Excel VBA运行时错误,excel,vba,Excel,Vba,我正在为Excel电子表格编写一个宏来更新图表,并添加一条垂直的“Now Line”来轻松定位日期 我已经搜索过了,但错误的表现似乎与其他错误不同。当excel首次启动时,宏的第一次运行将始终失败,除非我在运行宏之前查看包含至少一次要更新的图表的工作表 第一次运行之后的任何运行都将始终成功,即使第一次运行失败。这对我来说似乎非常独特,我的猜测是,当excel启动时,某些图表属性没有加载到内存中 这让我找到了解决办法,在设置序列属性之前,为包含序列的图表包含一个.Activate语句 Set Pr
Set Primary_Chart = Charts("Chart")
'Create the new series
Set NowLine_Series = Primary_Chart.SeriesCollection.NewSeries
'Fails without this
Primary_Chart.Activate
'Set the series' properties
With NowLine_Series
.Name = "=""Now"""
.Values = "='Pulldown Options'!$q$2:$q$3"
.XValues = "='Pulldown Options'!$p$2:$p$3"
.ChartType = xlXYScatterLinesNoMarkers
'This is the trouble line. Hangs here
.AxisGroup = 1 'Share axis with other series
.Format.Line.Visible = msoFalse
.Format.Line.Visible = msoTrue
.Format.Line.Weight = 3.5
.Format.Line.Style = msoLineThickBetweenThin
.Format.Line.DashStyle = msoLineDash
.Format.Line.ForeColor.RGB = RGB(36, 255, 5)
End With
我知道这是一个不好的做法使用。激活,所以我试图找出一个方法来解决这个问题。几个小时后我就没什么运气了
以下是主图表激活行不存在时错误的详细信息
Run-time error '-2147417848 (80010108)'
Method 'AxisGroup' of object 'Series' failed
这段代码在
工作簿\u Open
中吗?这是我自己的ChartUpdate()过程中的代码。如果有帮助,我相信您得到的错误是“调用的对象已与其客户端断开连接”。我还想看看上面的评论。我看到了这个问题,但似乎没有提出解决方案。我查看了“调用的对象已与其客户端断开连接”错误,但这似乎源于许多不同的问题。错误本身是相当普遍的。这看起来确实像是我犯的错误,但是,我认为这不会有多大帮助。我将继续看它。我能够在一个简单的示例图表上运行您的代码,没有错误。你能提供更多的细节来帮助复制错误吗?你的图表是组合图表吗?有主/次轴吗?您正在运行的代码是否与图表在同一工作簿中?此代码是否在工作簿\u Open
中?这是我自己的ChartUpdate()过程中的代码。如果有帮助,我相信您得到的错误是“调用的对象已与其客户端断开连接”。我还想看看上面的评论。我看到了这个问题,但似乎没有提出解决方案。我查看了“调用的对象已与其客户端断开连接”错误,但这似乎源于许多不同的问题。错误本身是相当普遍的。这看起来确实像是我犯的错误,但是,我认为这不会有多大帮助。我将继续看它。我能够在一个简单的示例图表上运行您的代码,没有错误。你能提供更多的细节来帮助复制错误吗?你的图表是组合图表吗?有主/次轴吗?您正在运行的代码与图表在同一工作簿中吗?