프로그래밍을 하고 완성된 프로그램을 실행하다 보면 오류가 발생하는 경우가 더러 있습니다. 이 오류 원일을 찾아 수정하는 작업 역시 프로그래밍의 하나이지만 일일이 찾아 해결하여야 하는 어려운 작업 중 하나입니다. 그렇지만 프로그램을 위해서는 반드시 필요한 작업입니다. VBA도 마찬가지로 이러한 작업이 필요하며 이를 위해 필요한 것이 어떠한 것이 있는지 알아보겠습니다.
1. 오류 발생 및 확인 하기
이전에 만들었던 범위 지정한 데이터의 평균을 구하는 프로그램을 이용하여 오류가 발생하는 모습을 확인하고 오류를 어떻게 처리하는지 알아보겠습니다.
이전 글에서 [그림 1]과 같이 코딩하여 프로그램을 작성하였습니다. 이를 실행하고 범위지정 창이 뜨면 취소 버튼을 누릅니다. ([그림 2] 참조)
취소 버튼을 누르면 [그림 3]과 같은 오류 메시지가 출력됩니다. 이는 평균 계산을 위한 데이터 범위를 지정하여야 하는데 이를 입력하지 않고 취소 버튼을 눌렀기 때문입니다.
[그림 3]과 같은 오류 메시지 창에서 디버그 버튼을 클릭합니다.
[그림 4]와 같이 VBA 코딩 창에 노란색으로 오류가 난 부분을 표시한 상태로 화면에 출력됩니다. 이와 같이 VBA 프로그램을 실행시켰을 때 오류가 발생하면 오류 메시지 창에서 디버그 버튼을 클릭하여 오류가 발생한 위치를 확인할 수 있습니다.
이제 프로그램 실행을 정지시키고 오류 발생에 대해 처리할 수 있는 내용을 코딩하도록 하겠습니다.
2. 오류를 처리하기 위한 코딩
위에서 발생한 오류를 처리하기 위해 평균을 계산할 범위 입력 창에서 취소 버튼이 클릭되었을 때 처리 방법을 [그림 5]와 같이 코딩해 넣습니다.
[그림 5]를 보면 'On Error GoTo er' 문장을 입력하고 아래에 'er'에 대한 처리 내용 다음과 같이 코딩하였습니다.
MsgBox "셀 범위가 지정되지 않았습니다."
이는 오류가 발생하면 er에 정의된 내용을 실행하라는 명령으로 오류가 발생하면 '셀 범위가 지정되지 않았습니다."라는 내용이 담긴 메시지 창이 뜨게 됩니다.
그럼 프로그램을 실행시키고 평균값을 구할 범위 지정 창에서 취소 버튼을 누른 결과를 확인해 보겠습니다.
[그림 6]과 같은 메시지 창이 뜨는 것을 확인하실 수 있습니다.
오류를 처리하기 위한 코딩으로 다른 방법은 On Error Resume Next를 사용하는 것입니다.
이번에는 [그림 1] 코딩 내용을 [그림 7]과 같이 입력합니다. 그리고 실행을 시키고 앞에서와 동일하게 취소 버튼을 누릅니다. 그러면 동일하게 [그림 6]과 같은 메시지 창이 뜨는 것을 확인하실 수 있습니다.
'엑셀 > VBA' 카테고리의 다른 글
VBA 반복문 For Next에 대해 알아보자 (0) | 2021.08.18 |
---|---|
VBA 조건문인 IF에 대해 알아보자 (0) | 2021.08.17 |
VBA 프로그래밍을 위한 기본 사항 확인하기 III (0) | 2021.08.14 |
VBA 프로그래밍을 위한 기본 사항 확인하기 II (0) | 2021.08.14 |
VBA 프로그래밍을 위한 기본 사항 확인하기 I (0) | 2021.08.13 |