2012-10-03 5 views
1

색인 및 일치 함수를 사용하여 채워진 열이 있는데 그 값을 찾을 수없는 경우 N/A 값이됩니다. 나는 특수 값으로 열에서 이러한 모든 오류 값을 대체 할 수 있기를 원합니다. VBA 코드에서이 작업을 수행하려고합니다. 어떤 도움이 필요합니까?열의 모든 오류 값을 대체하는 방법

IF 논리로 함수를 다시 쓰고 싶지 않습니다.

답변

4

경우 식별를 사용할 수 있습니다, 조사 할 필요가있는 범위 다음으로 :

IFERROR(myIndexMatchFormula,"special value")

당신이 정말 VBA 솔루션을 필요로하는 경우, 다음과 같은 것을 시도. 그것은 당신의 범위에있는 모든 오류 셀을 발견하고 당신이 선택한 무언가로 대체 할 것입니다. No If 문장, 반복 없음!

Option Explicit 

Sub replaceErrors() 

Dim rng As Range 

On Error Resume Next 

Set rng = Range("A1:A10").SpecialCells(xlCellTypeFormulas, 16) ' -> replace with your specific range 

rng.Value = "special values" '-> place what you want here 

On Error GoTo 0 

End Sub 
+1

+1 두 솔루션 모두 제공 : –

+0

@ScottHoltzman, 우수하고 많은 감사. IFERROR 할 수 있다는 것을 알고 있지만 VBA를 사용하여이 작업을 수행하는 방법을 여전히 알고 싶었습니다. –

0

r 경우, 당신은 항상 셀의 값이 "N/A"당신은 정말 VBA없이이 작업을 수행 할 수

If r.Value = CVErr(xlErrNA) Then 
    ... ' do something 
Else 
    ... ' do something else 
Endif 
+0

감사 Konstant를 통해이 오류. 여기서 문제는 루프를 사용해야한다는 것인데, 이는 내가 피하고 싶었던 것입니다. CVErr은 무엇을합니까? –

1

Columns("E").SpecialCells(xlCellTypeFormulas, xlErrors).Value = "" 는 예를 들어, E 열에있는 모든 에러를 대체 할 수있다. 그러나, 불행하게도, 항상 아무것도 발견하지 않는 경우 오류가 발생합니다, 그래서 specialcells 당신 해야 캐치 일부 on error ...

관련 문제