Excel VBA如何创建可撤销操作的宏

方法来自:http://www.exceltip.net/thread-9582-1-1.html,如转载请注明出处。

在VBA宏执行后,一般是不能撤销操作的(快速访问工具栏或者编辑栏里的撤销按钮)。那么当有时候误操作的时候就不得不关闭文档再次开启。其实VBA中提供了我们撤销宏操作的方法,但是这个方法就是我们得编写一个撤销宏操作的另一个宏。虽然比较繁琐,但是这个方法可以让我们将操作之前的数据作为参数传递,从而完整恢复宏操作之前的状态。
在宏的最后我们加上如下语句即可指定进行撤销操作时执行的宏。注意有两个参数

Application.OnUndo 撤销按钮显示的内容,指定宏的名称
请参考例子:

Sub Test1()
    Dim Temp
    Temp = Range("A1")      '记录A1之前的数据
    Range("A1") = 100       '操作A1
    '创建可撤销的操作。并指定带参数的Test2为撤销时的宏
    Application.OnUndo "撤销Test1宏操作", "'Test2 """ & Temp & """'"
End Sub
Sub Test2(ByVal Rng)
    Range("A1") = Rng   'Test2可以用于恢复A1原来的值
End Sub




评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值