У меня есть код ниже. Я пытаюсь узнать об обработке ошибок в excel VBA.Общие сведения об обработке ошибок Excel VBA
Sub LoopErrorHandling()
Dim ws As Worksheet
Dim c As Range
On Error GoTo LoopErrorHandling_Err
Set ws = ThisWorkbook.Worksheets(1)
ws.Range("C1:C5").ClearContents
For Each c In ws.Range("A1:A5").Cells
c.Offset(0, 2).Value = c.Value/c.Offset(0, 1).Value
Next c
LoopErrorHandling_Exit:
On Error Resume Next
Set ws = Nothing
On Error GoTo 0
Exit Sub
LoopErrorHandling_Err:
MsgBox Err.Description
Resume Next
Resume LoopErrorHandling_Exit
End Sub
В приведенном выше кодексе я хочу почитать следующее.
- Если линия
Set ws = Nothing
приходить до или после линииLoopErrorHandling_Exit:
. - Не должно быть линии
LoopErrorHandling_Err:
будет достаточно, этоLoopErrorHandling_Exit:
необходимо. - В чем заключается работа линии
LoopErrorHandling_Exit:
в приведенном выше коде и , она срабатывает только в случае возникновения ошибки. - Выполняет ли код выше всего, что требуется для обработки ошибок в excel vba или отсутствует материал.
'Set WS = Nothing' не должен действительно быть там all..'LoopErrorHandling_Exit' есть в этом необходимому фрагменте кода (* потому что нет' Выход Sub' где-нибудь до меток *).'LoopErrorHandling_Exit:' - это метка, в которую будет сказываться код, когда запускается 'LoopErrorHandling_Exit' или когда выполняется нормальное выполнение кода, которое находится после каждого цикла, потому что нет' Exit Sub' –
, вы обязательно должны видеть [ЭТО СТАТЬЯ] (http://www.cpearson.com/excel/errorhandling.htm) –
@ vba4all: Извините, не просмотрел твой комментарий –