Vba: 오류 발생 시 sub를 종료하는 방법
오류가 발생하면 VBA에서 Exit Sub 문을 사용하여 하위 프로시저를 종료할 수 있습니다.
실제로 이 문을 사용하는 일반적인 방법은 다음과 같습니다.
Sub DivideValues()
Dim i As Integer
On Error GoTo ErrorMessage
For i = 1 To 10
Range(" C " & i) = Range(" A " & i) / Range(" B " & i)
Next i
Exit Sub
Error Message:
MsgBox “ An Error Occurred ”
Exit Sub
End Sub
이 특정 매크로는 A1:A10 범위의 각 값을 B1:B10 범위의 해당 값으로 나누려고 시도합니다.
오류가 발생하는 경우(예: 0으로 나누려고 하는 경우) On Error GoTo 문은 VBA에 ErrorMessage 에 액세스하도록 지시합니다. 이는 사용자에게 오류가 발생했음을 알리는 메시지 상자를 생성하고 Exist Sub를 사용하여 하위 프로시저를 종료하도록 지시합니다. . 성명. 성명.
다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.
예: VBA에서 오류가 발생한 경우 하위가 존재하는 방법
A 열과 B 열에 다음과 같은 값 목록이 있다고 가정합니다.
이제 A열의 각 값을 B열의 해당 값으로 나누고 그 결과를 C열에 표시하는 다음 매크로를 생성한다고 가정합니다.
Sub DivideValues()
Dim i As Integer
For i = 1 To 10
Range(" C " & i) = Range(" A " & i) / Range(" B " & i)
Next i
End Sub
이 매크로를 실행하면 다음 오류가 발생합니다.
Excel 시트의 네 번째 행에서 0으로 나누려고 했기 때문에 이 오류가 발생합니다.
이 오류가 발생할 때 단순히 하위 프로시저를 종료하려면 다음과 같이 Exit Sub 문을 사용할 수 있습니다.
Sub DivideValues()
Dim i As Integer
On Error GoTo ErrorMessage
For i = 1 To 10
Range(" C " & i) = Range(" A " & i) / Range(" B " & i)
Next i
Exit Sub
Error Message:
MsgBox “ An Error Occurred ”
Exit Sub
End Sub
이 매크로를 실행하면 하위 프로시저에서 오류가 발생하기 전에 가능한 모든 분할 문제를 수행한 다음 오류가 발생했고 VBA가 하위 프로시저에 존재한다는 메시지 상자가 나타납니다.
참고 : 여기 에서 VBA의 Exit 문의 전체 문서를 찾을 수 있습니다.
추가 리소스
다음 자습서에서는 VBA에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
VBA를 사용하여 폴더를 만드는 방법
VBA를 사용하여 폴더를 삭제하는 방법
VBA를 사용하여 파일을 삭제하는 방법