如何撤销 Excel 中的宏?

如何撤销 Excel 中的宏?

在 Excel 中执行宏之后,没有按钮可以撤销它,除非您关闭书并选择不保存它。

有没有简单易行的方法可以撤销它?

答案1

简而言之,您无法撤消(我猜这就是您所说的撤销)宏的操作。编程语言内部做出的决定对于 Excel 来说可能很难撤消,因此启动宏会导致一个全面的“无法撤消”状态。

详细回答是,如果您预计需要撤消,您的代码应该通过在执行之前存储数据的先前状态来满足该请求。这是一个非常宽泛的假设,即您正在使用 VBA 处理数据;直接创建和操作文件可能会更加棘手,具体取决于执行的内容。

John Walkenbach 给出了一个存储数据以提供未来撤销功能的很好的例子:

计算机用户已经习惯了“撤消”操作的功能。几乎您在 Excel 中执行的所有操作都可以撤消。如果您使用 VBA 编程,您可能想知道是否可以撤消子程序的效果。答案是可以的。合格的答案是,这并不总是那么容易。

John Walkenbach,Spreadsheetpage.com

我认为他的开场白有点误导:对于非编码用户来说,答案是“不,你不能撤消宏”。

答案2

是的,您可以撤消宏的所有操作。下面是分配给“执行 DO”按钮的宏。

Sub do_while()
    Dim num As Integer
    num = 1
    Do While num <= 12
        Cells(num, 1) = num
        num = num + 1
    Loop
End Sub
The code below is   assigned to an UNDO button.It uses ClearContents.
 Dim num As Integer
    num = 1
    Do While num <= 12
        Cells(num, 1).ClearContents
        num = num + 1
    Loop
End Sub

使用清晰的内容。

相关内容