为什么不能颠倒VBA模块操作? 即Ctrl + Z'ed
在过去的几个月中,我一直在编写VBA脚本,并且注意到,如果我编写一个作用于Excel工作簿/表单的模块,我无法按Ctrl + Z这些操作。 从我注意到的情况来看,这适用于模块执行的任何操作。
一个简单的例子是:
Sub test() Cells(1,1) = "Hello World" End Sub
为什么模块操作不能“倒转”? 即通过Ctrl + Z撤消,或者通过使用“撤消”箭头。
PS我认为这种行为也可能适用于任何MS应用程序中的任何模块操作,但是,我可能很容易出错。
不,他们不能被扭转,但你可以使用我的方法:
你可以保存你的工作簿( ActiveWorkbook.Save )在每个macros的开始,然后如果你想撤消:
Const pathToTheFile as String = "C:\Users\VbaProject\" Sub Undo() wb = ActiveWorkbook.Name Workbooks(wb).Close savechanges:=False Workbooks.Open Filename:=pathToTheFile & wb End Sub
你甚至可以将它绑定到一个快捷方式…