3

我运行这段代码来强制更新一些图表:

'Force update charts
For Each cht In Sheets("Charts").ChartObjects
    cht.Chart.SeriesCollection.Add Source:=Worksheets("Builder").Range("AI2:AI7")
    cht.Chart.SeriesCollection(cht.Chart.SeriesCollection.Count).Delete
Next cht

我从不想从 Excel 快速访问栏中撤消或重做下面的行。不幸的是,上面的行清除了 Excels 撤消/重做列表,我无法再撤消/重做更改。

是否可以让 Excel 撤消/重做忽略运行的 VBA 代码而不被清除?

4

1 回答 1

4

是否可以让 Excel 撤消/重做忽略 VBA 代码

...而不是被清除?

是的

您在 Excel 电子表格中执行的任何操作都存储在称为撤消列表的列表中。因此,当您第一次执行撤消时,Excel 会引用此列表,然后撤消您执行的最后一个操作。

例如,下面将为您提供最后执行的操作。

Debug.Print Application.CommandBars("Standard").Controls("&Undo").List(1)

您可能希望在创建撤消处理程序以撤消由 Jan Karel Pieterse 编写的 Excel VBA 完成的更改上查看此链接。

于 2013-11-14T09:08:38.903 回答