保留撤消列表(Microsoft Excel)
在Excel中工作时,您所做的更改会有一些“安全网”。大多数人都知道,如果搞砸了,他们可以快速按Ctrl + Z或从“编辑”菜单或使用工具栏上的“撤消”工具选择“撤消”命令。如果您不喜欢刚刚做的事情,则可以轻松地撤消它,然后回到以前的状态。
但是,当您运行宏时,该宏在“撤消”列表中不会“播放得很好”。实际上,运行宏会完全删除“撤消”列表,因此您不能自动撤消运行宏的影响。在Excel或VBA中,没有内部命令来保存“撤消”列表。但是,有两种方法可以解决该问题。
如果您感觉要撤消宏的效果,则可以做的第一件事是在运行宏之前保存工作簿。实际上,这为您提供了工作簿的“宏”版本。
如果要稍后还原到此版本,只需关闭工作簿而不保存,然后从磁盘重新加载即可。
另一种选择是重新考虑您处理宏的方式。如果您有一个宏在工作表中进行大量信息处理,请对该宏进行编码,以使其在内存中保持任何更改状态。然后,您可以创建一个单独的宏来读取此信息,并有效地撤消第一个宏的影响。
为使此方法真正方便,主要宏的最后一步是将信息“填充”到“撤消”堆栈中。然后,该信息(但用户)可以用来“撤消”您创建的宏。例如,以下宏命令可能是主宏中的最后一个:
Application.OnUndo "Primary Macro", "UndoPrimary"
执行此命令后,当用户查看“撤消”列表时,他或她将看到文本“主宏”。如果他们从“撤消”列表中选择此选项,则将执行“撤消”宏(UndoPrimary)。
您应该注意,这种方法在运行宏之前不会保存“撤消”列表中的内容-似乎没有办法。当您的主要宏运行完毕时,“撤消”列表上只有一个选项可用:“主要宏”。
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(2060)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: