2013-07-18 6 views
1

VBA를 사용하여 Excel에 수식을 삽입하려하지만 작동하지 않습니다. 그것은 런타임 오류 1004를 반환합니다. 나는 몇 가지 트릭이나 답변을 시도했지만 여기에는 내 사건과 관련성이없는 것으로 보입니다. 여기 ActiveCell.Formula 런타임 오류 VBA

코드입니다 : 두 번째 단계에서는

ActiveCell.Formula = "=COUNTIFS('DataSheet_B'!$C$4:$C$13268;B6;'DataSheet_B'!$M$4:$M$13268;A6;'DataSheet_B'!$J$4:$J$13268;$G$5)" 

, 동적으로 변경하는 변수에 의해 $C$13268에서 13268을 대체하려합니다. 공식에 삽입하기 만하면됩니다. 그것이 공식을 하드 코딩하려고하는 주된 이유입니다.

Dim sVal As String 
    sVal = "13268" 

ActiveCell.FormulaR1C1 = "=COUNTIFS(DataSheet_B!R4C3:R[" & sVal & "]C3,RC[-5],DataSheet_B!R4C13:R[" & sVal & " ]C13,RC[-6],DataSheet_B!R4C10:R[" & sVal & " ]C10,R5C7)" 

그러나, 그것은 , 모든 ;세미콜론에게를 교체 $C$13268

의 두 번째 달러 기호를 돌려 당신에게

+0

사용 디버거 내에서 변수를 사용하려는 경우. 런타임 오류에서 동적 변수가 보유하고있는 값을 확인하십시오 –

+0

아직 그 단계에 있지 않습니다. 먼저 정적 수식이 작동하기를 원합니다. 다른 수식을 사용하여 동적 버전을 사용해 보았지만 정상적으로 작동했습니다. 위의 코드는 작동하지 않습니다. – Helios

+1

'ActiveCell.Formula = "= COUNTIFS ('DataSheet_B'! $ C $ 4 : $ C $ 13268, B6, 'DataSheet_B'! $ M $ 4 : $ M $ 13268, A6, 'DataSheet_B'! $ J $ 4 : $ J $ 13268 , $ G $ 5) "' –

답변

0

감사하지 않습니다

또한, 나는 다음과 같은 공식을 사용하고 있습니다 쉼표부터 시작하여

ActiveCell.Formula = "=COUNTIFS('DataSheet_B'!$C$4:$C$13268,B6,'DataSheet_B'!$M$4:$M$13268,A6,'DataSh‌​eet_B'!$J$4:$J$13268,$G$5)" 

당신이 문자열 다음

Dim sVal As Long 
    sVal = 13268 

ActiveCell.Formula = "=COUNTIFS('DataSheet_B'!$C$4:$C$" & sVal & ";B6;'DataSheet_B'!$M$4:$M$" & sVal & ";A6;'DataSheet_B'!$J$4:$J$" & sVal & ";$G$5)" 
+0

long (정수) 대신 int (int)를 사용하는 것이 어떻습니까? + int +가 작동하지 않는 것 같습니다. – Helios

+1

는 '정수'를 의미합니까? 사용법 :'dim myInt as Integer', [한계] (http://msdn.microsoft.com/en-us/library/office/aa164754 (v = office.10) .aspx) –

+0

잘 작동합니다. ! 고마워 – Helios