【发布时间】:2017-02-09 19:52:26
【问题描述】:
这里对 Excel VBA 非常陌生...与这篇文章非常相似:Avoiding the use of Activate and Select when working with charts (Excel),我试图避免使用激活,以便对大型工作簿中的许多图表进行小幅更改。我正在为大量图表执行此任务,因此我想尽可能减少运行时间,并且听说选择/激活函数往往会减慢宏。
我的示例代码如下所示:
ActiveSheet.ChartObjects("Chart 3").Activate
ActiveChart.FullSeriesCollection(1).XValues = "=Leb!$C$2:$G$2"
我尝试将这两行替换为以下内容,因为这对我来说合乎逻辑:
ActiveSheet.ChartObjects("Chart 3").FullSeriesCollection(1).XValues = "=Leb!$C$2:$G$2"
此代码在运行时会导致错误,因此我尝试使用上述帖子中显示的 WITH 格式:
With Worksheets("Chart").ChartObjects("Chart 3").Chart.XValues = "=Leb!$C$2:$G$2"
End With
这也会引发错误。
我知道我可能犯了一个小的语法错误,但是任何人都能够提供任何关于我做错了什么的见解吗? (我以前从未使用过 WITH 函数,因此对它进行一些一般性的了解也会很有帮助。)
提前致谢。
【问题讨论】:
-
您需要在 ChartObjects 和 FullSeriesCollection 之间包含关键字 Chart:
ActiveSheet.ChartObjects("Chart 3").Chart.FullSeriesCollection(1).XValues = "=Leb!$C$2:$G$2"