有没有办法对代码说,每次出现错误时,取消之前的操作? 例如,我有一个创建6个工作簿的代码,当代码的一半出现错误时,我必须取消每个工作簿并再次启动宏!
提前致谢
答案 0 :(得分:0)
您可以尝试:
Application.UnDo
错误代码中的。 它并不总是有效。
答案 1 :(得分:0)
VBA执行导致撤消历史记录
历史记录是字符串的列表(或集合)
Application.CommandBars("Standard").Controls("&Undo").Control.ListCount
为0 但你可能会做这样的事情
Option Explicit
Public Sub makeFiles()
Dim i As Long, currentWB As Long, newWBs As Long
On Error GoTo cancelAction
currentWB = Workbooks.Count
For i = 1 To 6
Workbooks.Add
newWBs = newWBs + 1
ActiveSheet.Cells(1, 1).Value = 4
'generate an error
If i = 3 Then Workbooks.Item(Workbooks.Count + 1).Activate
Next
cancelAction:
Do While newWBs > 0 'Workbooks.Count > 1
Workbooks(currentWB + newWBs).Close False
newWBs = newWBs - 1
Loop
End Sub