作者:绿色风
分类:
时间:2022-08-17
浏览:153
楼主 amulee |
Q:如何创建可撤销操作的宏? A:在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
如何创建可撤销操作的宏.rar |
2楼 lrlxxqxa |
这个方法挺实用的。谢谢! |
3楼 NULL |
Application.OnUndo "撤销Test1宏操作", "'Test2 """ & Temp & """'"
"'Test2 """ & Temp & """'"
这段这么多引号是怎么回事, 怎么看的 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一