【问题标题】:Cannot delete a chart series using VBA in Excel 2010无法在 Excel 2010 中使用 VBA 删除图表系列
【发布时间】:2012-01-12 22:21:21
【问题描述】:

我有一个用 Excel 2003 编写的 VBA 宏,它在 Excel 2003 和 2007 中运行良好。但是,它在 Excel 2010 中失败了,我不知道为什么。

用户添加或删除数据后,宏会更新图表中的系列。第一步(数据验证后)是删除图表中除第一个系列之外的所有系列。

'clear all chart series except for series 1
Do While theChart.SeriesCollection.Count > 1
    theChart.SeriesCollection(2).Delete
Loop

在循环的第一次迭代中执行停止,并出现错误对话框“对象'系列'的方法'删除'失败。”

我想可能是Excel 2010中的对象模型发生了变化,所以我用宏记录器记录了删除系列的动作:

ActiveSheet.ChartObjects("Plant Feed").Activate
ActiveChart.SeriesCollection(3).Select
Selection.Delete

运行录制的宏(显然已恢复 Series 3)在第二行停止,并显示“方法 'select' of object 'series' failed。”

然后我添加了一个对象变量和一些 msgbox 行来尝试调试问题:

Dim theSeries As Series
ActiveSheet.ChartObjects("Plant Feed").Activate
MsgBox (ActiveChart.SeriesCollection(3).Name)
Set theSeries = ActiveChart.SeriesCollection(3)
MsgBox (theSeries.Name)
theSeries.Delete

对象变量设置正确,消息框给出正确的输出,但仍然落在 theSeries.delete 上。

最后,我使用 Excel 2010 中创建的全新图表重复上述所有操作,以防万一这是 2003 年的遗留问题,但我遇到了同样的错误。

我在扯头发。我在网上搜索了无济于事的解决方案,这就是导致我访问这个 Stack Overflow 网站的原因。任何人都可以提供任何帮助,我将不胜感激。

问候,

达伦

【问题讨论】:

  • +1 详细说明您到目前为止所采取的步骤。问题:有机会保护工作表吗?
  • 谢谢瑞秋。我希望是这样,即使我会觉得有点傻。自从我发帖以来,我又确定了一件事,这让我觉得这是某种 2003 年的遗产。如果我在新工作簿中创建新图表,我不会遇到问题。但是现有工作簿中的新图表不起作用,即使我先删除所有其他图表和 VBA 模块。我想我将不得不从头开始重新创建整个工作簿。
  • Rachel 的 +1 没有用,但你应得的。顺便说一句,您可以尝试在引发错误的行上设置断点并查看theChart.SeriesCollection(2) 对象并检查它是什么

标签: excel vba


【解决方案1】:

您是否尝试过这种方式?

For x = theChart.SeriesCollection.Count To 2 Step -1
   theChart.SeriesCollection(x).Delete
Next x

【讨论】:

    【解决方案2】:

    从集合的开头删除项目,总会有第一个元素,直到你将它们全部删除。

    Do While theChart.SeriesCollection.Count > 1
         theChart.SeriesCollection(1).Delete   
         'theChart.SeriesCollection(2).Delete    
    Loop
    

    【讨论】:

    • 感谢 user2169636 和其他所有人。事实证明,.xlsm 文件中存在某种故障。我导出了所有宏模块并在一个新文件中重建了图表,一切正常。我的公司当时正在使用“兼容模式”,我听说过其他关于这种混乱工作簿的报告。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-30
    • 2021-09-03
    • 2020-12-15
    • 1970-01-01
    • 1970-01-01
    • 2017-10-04
    • 2011-05-27
    相关资源
    最近更新 更多