首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在运行宏将图表格式复制到另一个图表时,Excel会崩溃

在运行宏将图表格式复制到另一个图表时,Excel会崩溃
EN

Stack Overflow用户
提问于 2018-01-30 10:47:16
回答 2查看 251关注 0票数 1

我编写了一个宏,用于复制一个图表对象的格式并将其粘贴到其他图表对象中。宏成功完成,新创建的图表对象被正确创建。它做了它应该做的事情!但是,Excel在保存或处理新图表对象后立即崩溃。它在Excel 2010和Excel 2016中都会崩溃。

我已经隔离了导致Excel崩溃的代码片段。在下面的代码片段中,如果注释掉了第8-9行,Excel不会崩溃:

代码语言:javascript
复制
For Each cht In sh_plots.ChartObjects
    With cht.Chart

    'copies master chart format
    master_plot.Chart.ChartArea.Copy

    'applies formats
    .ChartArea.Select
    ActiveSheet.PasteSpecial Format:=2
    Application.CutCopyMode = False

因此,这两条线路(8-9)是出现故障的线路:

代码语言:javascript
复制
.ChartArea.Select
ActiveSheet.PasteSpecial Format:=2

有人知道为什么这两行代码现在成为我生存的祸根吗?我已经多次测试了这两行代码,并且崩溃是可重现的。我的excel文件没有损坏,因为我试图将代码作为文本复制到新的Excel文件中,并使用安全模式等,但仍然崩溃。

我不想为了完成这个简单的格式粘贴程序而逐个复制主控图表的属性-除非有人有更好的想法,这将需要更多的额外代码!

我有事件查看器的错误日志,如果它可以提供任何线索。谢谢!

EN

回答 2

Stack Overflow用户

发布于 2018-01-30 14:14:33

未经测试,就像我在手机上一样。但是我不认为你需要激活/选择来复制-粘贴。

下面的代码切换事件和屏幕更新。

代码语言:javascript
复制
' Ensure you have Option Explicit and have declared cht as a ChartObject '

With application
.screenupdating = false
.enableevents = false
End with

'copies master chart format
        master_plot.Chart.ChartArea.Copy

For Each cht In sh_plots.ChartObjects

    'applies formats
    Cht.chart.paste type:=xlformats

Next cht



'reset property outside of loop - once all done. '
    Application.CutCopyMode = False

With application
.screenupdating = true
.enableevents = true
End with
票数 0
EN

Stack Overflow用户

发布于 2018-01-30 23:23:40

哦,我通过摆弄更多的东西解决了这个问题!

由于某些原因,如果您在粘贴图表格式之前指定了错误条,Excel将崩溃。因此,直到我粘贴了格式之后,我才指定错误条。真的很奇怪它会这样做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48513118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档