Vba에서 ifna를 사용하는 방법(예제 포함)


수식에서 #N/A 오류가 발생하는 경우 VBA에서 IfNa 메서드를 사용하여 특정 값을 반환할 수 있습니다.

실제로 IfNa를 사용하는 일반적인 방법은 다음과 같습니다.

 Sub UseVLOOKUP()
    With Application
    Range(" F2 ").Value = .IfNa(.Vlookup(Range(" E2 "), Range(" A2:C11 "),3,False), "No Value Found")
End With
End Sub

이 특정 매크로는 VLOOKUP 함수를 사용하여 A2:C11 범위에 있는 E2 셀의 값을 찾으려고 시도합니다.

E2 의 값을 찾을 수 없으면 수식은 #N/A 를 제공합니다.

그러나 IfNa 메서드를 사용하여 #N/A 대신 “값을 찾을 수 없음”을 반환할 수 있습니다.

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: VBA에서 IfNa를 사용하는 방법

다양한 농구 선수에 대한 정보가 포함된 다음과 같은 데이터 세트가 Excel에 있다고 가정해 보겠습니다.

팀 이름 “Kings”에 대한 데이터 세트를 검색하고 어시스트 열에 해당 값을 반환한다고 가정해 보겠습니다.

이를 위해 다음 매크로를 생성할 수 있습니다:

 Sub UseVLOOKUP()
    With Application
    Range(" F2 ").Value = .IfNa(.Vlookup(Range(" E2 "), Range(" A2:C11 "),3,False), "No Value Found")
End With
End Sub

이 매크로를 실행하면 다음과 같은 출력이 나타납니다.

매크로는 Kings에 대해 3개의 어시스트 값을 올바르게 반환합니다.

이제 E2 셀의 팀 이름을 데이터 세트에 존재하지 않는 “Grizzlies”로 변경한다고 가정합니다.

이 매크로를 다시 실행하면 VLOOKUP 함수에서 #N/A 오류가 발생하는 경우 반환되어야 한다고 지정한 값이기 때문에 “값을 찾을 수 없습니다”가 반환됩니다.

팀 열에 Grizzlies가 존재하지 않기 때문에 매크로는 “값을 찾을 수 없습니다”를 반환합니다.

참고 : 여기에서 VBA IfNa 메서드에 대한 전체 문서를 찾을 수 있습니다.

추가 리소스

다음 자습서에서는 VBA에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

VBA: 인덱스 일치를 사용하는 방법
VBA: 여러 열을 기준으로 시트를 정렬하는 방법
VBA:문자열에 다른 문자열이 포함되어 있는지 확인하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다