2011-08-10 97 views
7

有没有办法将撤消功能编码到类似于Excel自己的撤消功能的CommandButton上?如何以编程方式在Excel-Vba中对“撤消”功能进行编码?

或者一个能够调用Ctrl-Z快捷键的函数。

+0

有这种打嗝,因为当你调用VBA代码,撤消堆栈被破坏(制作电子表格,把一些项目在它上面,删除它们,然后调用任何VBA代码来查看我的意思)。我不确定是否有办法解决这个问题。另一个用户有类似的问题,我认为你基本上必须想出一种方法来写入文件的更改,并再次阅读它们。 – jonsca

+2

Duplicate of:http://stackoverflow.com/questions/339228/building-undo-into-an-excel-vba-macro –

回答

10

添加命令按钮到工作表,并指定下面的宏给它:

Sub UndoLastAction() 

    With Application 
     .EnableEvents = False 
     .Undo 
     .EnableEvents = True 
    End With 

End Sub 

它只能撤消由用户所采取的最后一个动作,不能撤消VBA命令。

编辑:如果您需要进一步的撤销功能看:

Undo With Excel VBA - JKP

相关问题