我只寫了一小段VBA代碼,它只是在按下按鈕時刪除表單中的三列。如何撤消通過VBA執行的操作
按下按鈕時,列將被刪除。這部分工作正常。我想要做的是通過Excel中的STOCK撤消按鈕使此操作可逆。目前,刪除這些行無法以任何方式撤銷(我知道這一點),這意味着如果按鈕被意外按下,則表單必須退出並重新打開。
這是我目前的代碼,請隨時批評它,我不是很熟悉VBA的最佳實踐,雖然我正在學習。
Private Sub CommandButton1_Click()
Dim Alias_Adds As Worksheet
Set Alias_Adds = Sheets("Alias_Adds")
MSG1 = MsgBox("Are you ready to delete the validation columns? (A, F, and G?)", vbYesNo, "")
If MSG1 = vbYes Then
With Alias_Adds
Alias_Adds.Columns("A").EntireColumn.Delete 'this is the line that is cauing the error
Alias_Adds.Columns("E:F").EntireColumn.Delete
End With
Else
MsgBox "Ok, let's wait a bit to delete those columns"
End If
End Sub
可能的重複:http://stackoverflow.com/questions/20673696/how-to-undo-cancel-all-what-macros-did-by-cancel-button –
我不相信這是重複的。鏈接的問題想要使用額外的VBA按鈕來取消他的第一個VBA按鈕執行的操作。我希望我的VBA動作可以通過Excel的股票UNDO按鈕來逆轉。 – FluffyKittens
@me我怎麼 - 我讀過你發佈的鏈接,我發現它非常有幫助。 – FluffyKittens