2014-10-20 2 views
0

런타임 오류 '1004'이 (가) 발생하는 Excel VBA에 문제가 있습니다. 여기 이미 큰 따옴표가있는 문자열

코드입니다 : 기본적으로

Sub modifyformula() 

Dim formla As String 

formla = Cells(21, 48).Formula 

Cells(21, 48).Formula = "=IF(ISERROR(" & formla & ",," & formla & ")" 

End Sub 

내가이 "= (ISERROR (IF"... 기존 공식에 추가 할 VBA를 이야기하면 할 노력하고있어, 나는 것 비슷한 수식이 포함 된 모든 셀을 업데이트 할 VBA에게

을 셀의 수식은 다음과 같습니다.! = GETPIVOTDATA ($ AU $ (6) & $ AU $ 19 피벗 테이블 $ A $ 3, "mis_month", AV $ 3, "채널 2를" , $ AU21)

문제는 실제 수식에서 큰 따옴표가 문제라고 생각합니다. 전자 오류,하지만 그것을 수정하는 방법을 모르겠습니다.

미리 도와 주실 수있는 분들께 감사드립니다. :).

답변

0

귀하는을 연결하기 전에 공식에서 "="를 잘라해야합니다

Sub Tester() 

    Const NEW_FORM As String = "=IF(ISERROR(<f>),,<f>)" 

    Dim f As String, c As Range 

    Set c = Cells(21, 48) 

    If c.HasFormula Then 
     f = Right(c.Formula, Len(c.Formula) - 1) 
     c.Formula = Replace(NEW_FORM, "<f>", f) 
    End If 

End Sub 

참고 : IFERROR()가 지원해야하는 것을 엑셀의 버전에 따라, 여기에 사용하는 것이 조금 더 쉽다.

관련 문제