在过去的几个月中,我一直在编写VBA脚本,并注意到,如果我编写了在Excel Workbook/Sheet上的模块,我将无法ctrl z这些动作。据我所知,这适用于模块执行的所有操作。
一个简单的例子是:
Sub test()
Cells(1,1) = "Hello World"
End Sub
为什么不能"逆转"模块操作?即,通过CTRL Z撤消,或使用"撤消"箭头。
P.S。我认为这种行为也可能适用于任何MS应用程序中的任何模块操作,但是我很容易错。
不,它们不能逆转,但是您可以使用我的方法:
您可以在每个宏的开始时保存您的工作簿( ActiveWorkbook.Save ),然后如果要撤消:
Const pathToTheFile as String = "C:UsersVbaProject"
Sub Undo()
wb = ActiveWorkbook.Name
Workbooks(wb).Close savechanges:=False
Workbooks.Open Filename:=pathToTheFile & wb
End Sub
您甚至可以将其绑定到快捷方式...