아래 우리는 엑셀 VBA에서 두 개의 프로그램을 볼 것이다. 하나 개의 프로그램은 단순히 오류를 무시합니다. 다른 프로그램에 오류가 타격에 지정된 줄에서 실행을 계속한다.

상황 :

두 프로그램은 숫자의 제곱근을 계산합니다.

Error Handling in Excel VBA

제곱근 1은 ‘제곱근 1’명령 단추에 다음 코드 줄을 추가합니다.

  1. 먼저, 우리는이 범위 객체를 선언합니다. 우리는 범위가 RNG 세포 개체를 호출합니다.

Dim rng As Range, cell As Range
  1. 우리는 선택 범위 Range 개체의 RNG를 초기화합니다.

Set rng = Selection
  1. 우리는 (이 범위는 임의의 크기 일 수있다) 무작위로 선택된 범위에서 각 셀의 제곱근을 계산합니다. 엑셀 VBA에서는 이에 대한 각 다음 루프의 경우를 사용할 수 있습니다. 다음 코드 줄을 추가합니다

For Each cell In rng

Next cell

참고 : RNG 세포가 무작위로 여기에 선택되어, 당신은 어떤 이름을 사용할 수 있습니다.

코드의 나머지 부분에서이 이름을 참조해야합니다.

루프에 다음 코드 줄을 추가하십시오.

On Error Resume Next
  1. 다음으로, 우리는 값의 제곱근을 계산합니다. 엑셀 VBA에서, 우리는이에 대한 SQR 기능을 사용할 수 있습니다. 루프에 다음 코드 줄을 추가합니다.

cell.Value = Sqr(cell.Value)

Visual Basic 편집기를 종료하고 프로그램을 테스트 6..

결과 :

On Error Resume Next Result

결론 : 엑셀 VBA가 부정적인 번호와 텍스트로 잘못된 값을 포함하는 셀을 무시했다. 문 ‘오류 이력서 다음에’를를 사용하지 않고 두 개의 오류를 얻을 것입니다. 확실 오류를 무시하는 것은 OK 인 경우에만 문 ‘오류 이력서 다음에’는 사용에주의.

제곱근 2는 ‘제곱근이’명령 단추에 다음 코드 줄을 추가합니다.

  1. 같은 제곱근 1과 프로그램 만에 ‘오류 이력서 다음에’대체 :

On Error GoTo InvalidValue:

참고 : InvalidValue 무작위로 여기 선택, 당신이 어떤 이름을 사용할 수 있습니다.

코드의 나머지 부분에서이 이름을 참조해야합니다.

  1. 밖에서 각각 다음 루프의 경우, 먼저 다음 코드 줄을 추가 :

Exit Sub

이 라인없이, 코드 (에러 코드)의 나머지 부분은 오류가없는 경우에도 실행됩니다! 3. 엑셀 VBA로 시작하는 라인에서 실행을 계속 ‘InvalidValue :’오류가 타격시 (콜론을 잊지 마세요). 다음 코드 줄을 추가

InvalidValue:
  1. 우리는 지금 우리의 에러 코드의 간단한 유지. 우리는 텍스트와 오류가 발생한 셀의 주소가있는 MsgBox를 표시합니다.

MsgBox "can't calculate square root at cell " & cell.Address

오류 코드를 실행 한 후 실행을 다시 시작하기 위해 엑셀 VBA를 지시하려면 다음 줄을 추가 (5).

Resume Next

Visual Basic 편집기를 종료하고 프로그램을 테스트 6..

결과 :

On Error GoTo Result

On Error GoTo Result

On Error GoTo Result