2010-02-16 2 views
1

VBA 스크립트에 문제가 있습니다. 이 함수는 시트에 몇 가지 수식을 채 웁니다. 그것은 그것과 충돌 ... 나는 더 큰 데이터 세트에서 실행하지만 때, 시간을 잘 대부분 작동합니다Excel 자동 채우기 문제

오류 '1004'

런타임 : 범위 클래스의 자동 완성 방법은

디버거 포인트 실패 마지막 자동 완성 통화까지 시트를 보면 AutoFill 통화가 약 3/4의 속도로 작동하지만 멈 춥니 다.

With Sheets("OPENS") 
    ' Fill OPENS formulas 
    .Range("B" & firstRowOPENS - 3) = "=DATE(YEAR($B$1), MONTH($B$1)+2, DAY($B$1))" 
    .Range("B" & firstRowOPENS - 3).NumberFormat = "[$-409]mmm-yy;@" 
    .Range("C" & firstRowOPENS - 3) = "=C1+2" 

    .Range("B" & firstRowOPENS - 1) = "=SUBTOTAL(109,B" & firstRowOPENS & ":B" & lastRowOPENS & ")" 
    .Range("B" & firstRowOPENS - 1).AutoFill .Range("B" & firstRowOPENS - 1 & ":" & lastColOPENS & firstRowOPENS - 1), xlFillValues 

    .Range("B" & firstRowOPENS) = "=SUM(C" & firstRowOPENS & ":" & lastColOPENS & firstRowOPENS & ")" 
    .Range("C" & firstRowOPENS).FormulaArray = "=SUM(('Combined Input'!R2C2:R" & lastRowCI & "C2=RC1) * ('Combined Input'!R2C45:R" & lastRowCI & "C45=R2C) * ('Combined Input'!R2C43:R" & lastRowCI & "C43 = R1C4) * INDEX('Combined Input'!R2C5:R" & lastRowCI & "C40, 0,R" & firstRowOPENS - 3 & "C3,1)) * R[-" & (lastRowOPENS - firstRowOPENS + 5) * 2 & "]C" & OPENS_PROB_COL 
    .Range("C" & firstRowOPENS).AutoFill .Range("C" & firstRowOPENS & ":" & lastColOPENS & firstRowOPENS), xlFillValues 

    If lastRowOPENS > firstRowOPENS Then 
     .Range("B" & firstRowOPENS & ":" & lastColOPENS & firstRowOPENS).AutoFill .Range("B" & firstRowOPENS & ":" & lastColOPENS & lastRowOPENS), xlFillValues 
    End If 

    setBorders .Range("A" & firstRowOPENS - 2 & ":" & lastColOPENS & lastRowOPENS) 
End With 

의견이 있으십니까?

편집 : 나는 문제가 발견

:. 엑셀 2003 및 이전 버전의 Excel에서 http://support.microsoft.com/kb/166342

는 "하나의 워크 시트에 다른 워크 시트를 참조 65,472 배열 수식 최대를 포함 할 수 있습니다 당신이 만약 더 많은 수식을 사용 하나의 워크 시트 미만 65472 참조가되도록 여러 워크 시트에 데이터를 분할 할. "

+0

내 시트에 1500 줄에 붙어있는 것 같습니다 수동으로 자동 채우기를 시도하더라도 ... 작동하지 않습니다 – lucks

+0

어디에서 오는 lastColOPENS입니까? – guitarthrower

+0

이 블록 전에 계산됩니다. FormulaArray 정의와 관련이 있습니다 – lucks

답변

0

http://support.microsoft.com/kb/166342

을"Excel 2003 및 이전 버전의 Excel에서는 단일 워크 시트에 다른 워크 시트를 참조하는 배열 수식이 최대 65,472 개까지 포함될 수 있습니다. 더 많은 수식을 사용하려면 데이터를 여러 워크 시트로 분할하여 단일 워크 시트에 대한 참조 수가 65,472 개 미만이되도록하십시오. "