문제
VBA 스크립트에 문제가 있습니다. 함수는 일부 공식으로 시트를 채 웁니다. 대부분의 시간에 잘 작동하지만 더 큰 데이터 세트에서 실행하면 다음과 같이 충돌합니다.
런 타임 오류 '1004': 범위 클래스의 자동 수제 메소드 실패
디버거는 마지막 자동 수소 호출을 가리 킵니다. 시트를 보면 자동 제외 호출이 약 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
제안이 있습니까?
편집하다:
문제를 발견했습니다. http://support.microsoft.com/kb/166342
"Excel 2003과 이전 버전의 Excel에서 단일 워크 시트에는 다른 워크 시트를 참조하는 최대 65,472 개의 배열 공식이 포함될 수 있습니다. 더 많은 공식을 사용하려면 여러 워크 시트로 데이터를 분할하여 65,472 개의 참조가 없습니다. 단일 워크 시트에. "
해결책
http://support.microsoft.com/kb/166342
"Excel 2003과 이전 버전의 Excel에서 단일 워크 시트에는 다른 워크 시트를 참조하는 최대 65,472 개의 배열 공식이 포함될 수 있습니다. 더 많은 공식을 사용하려면 여러 워크 시트로 데이터를 분할하여 65,472 개의 참조가 없습니다. 단일 워크 시트에. "
제휴하지 않습니다 StackOverflow