2011-08-10 49 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

相關問題