Vba에서 iferror를 사용하는 방법(예제 포함)
다음 기본 구문을 사용하면 VBA의 IFERROR 함수를 사용하여 Excel 수식에 오류가 발생한 경우 셀에 특정 값을 표시할 수 있습니다.
SubIfError ()
Dim i As Integer
For i = 2 To 11
Cells(i, 4).Value = WorksheetFunction.IfError(Cells(i, 3).Value, " Formula Error ")
Next i
End Sub
이 특정 예에서는 현재 시트의 세 번째 열의 2~11행에 있는 각 셀에 오류 값이 있는지 확인합니다.
오류 값이 발견되면 “수식 오류” 값이 네 번째 열의 해당 셀에 할당되고, 그렇지 않으면 세 번째 열의 숫자 값이 네 번째 열의 해당 값에 할당됩니다.
다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.
예: VBA에서 IFERROR를 사용하는 방법
여러 매장에서 제품의 총 수익과 판매 수량을 표시하는 다음과 같은 데이터 세트가 Excel에 있다고 가정합니다.
C 열에서는 수익을 판매 단위로 나누어 단위당 수익을 구하는 수식을 사용합니다.
그러나 수식은 #DIV/0! 값을 생성합니다. 일부 셀에서는 0으로 나누려고 합니다.
대신 이러한 셀에 대해 “수식 오류”를 표시하는 새 열을 만들고 싶다고 가정해 보겠습니다.
이를 위해 다음 매크로를 생성할 수 있습니다:
SubIfError ()
Dim i As Integer
For i = 2 To 11
Cells(i, 4).Value = WorksheetFunction.IfError(Cells(i, 3).Value, " Formula Error ")
Next i
End Sub
이 매크로를 실행하면 다음과 같은 출력이 나타납니다.
D 열의 값은 C 열의 수식 결과를 표시하거나 오류 값이 표시되는 경우 “수식 오류”값을 표시합니다.
오류가 발생했을 때 원하는 값을 대신 표시하려면 코드의 IfError 메서드에서 “Formula Error”를 자유롭게 변경하세요.
참고 : 여기에서 VBA IfError 메서드에 대한 전체 설명서를 찾을 수 있습니다.
추가 리소스
다음 자습서에서는 VBA에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
VBA: IF OR을 사용하여 여러 조건을 테스트하는 방법
VBA: IF AND를 사용하여 여러 조건을 테스트하는 방법
VBA: IF NOT을 사용하여 조건이 충족되지 않는지 테스트하는 방법