В приведенном ниже коде Errorhandler
правильно выполняет первую ошибку при вводе книги, которая не является открытой или какой-либо случайной строкой. Но когда я нажимаю на повтор и снова вводим случайное имя, я получаю «Subscript out of Range
» error @ Workbooks (workbookname). Активировать.Обработка ошибок VBA Excel не работает для второй ошибки
Может ли кто-нибудь помочь мне, почему это происходит, и как я могу заставить его работать. Я много пробовал. Но ничего не работает. Этот код является частью более крупной программы.
Sub test()
Dim workbkname As String
On Error GoTo Errorhandler
Retry:
workbookname = InputBox("Enter workbook name:", _
"Name Enrty")
If StrPtr(workbookname) = 0 Then
MsgBox ("Aborting Program")
End
End If
Workbooks(workbookname).Activate
Exit Sub
Errorhandler:
Response = MsgBox("Workbook " & workbookname & " not found", vbRetryCancel)
If Response = 4 Then
GoTo Retry
End If
End Sub
Используйте 'Resume Retry' вместо' GoTo Retry' –