2014-06-16 2 views
0

일부 계산을 수행하고 동일한 크기 및 유사한 내용의 서로 다른 여러 테이블에서 결과를 수집 한 다음 워크 시트에 덤프하는 서브 루틴을 작성 중입니다. 는 순간 내 드라이버는 다음과 같습니다VBA 배열을 부분적으로 부분적으로 작성하는 경우

Sub Driver() 
    Dim works() As Variant 
    Dim rng As Range 
    Dim ws as worksheet 

    'This reliably works and outputs an 
    works = GenerateWorksArray() 
    Set ws = Worksheets.Add 
    Set rng = ws.Range("A1:P1").Resize(UBound(works, 1)) 

    'This is where it all breaks down 
    rng = works 

end sub 

GenerateWorksArray에서 다시 전달 배열은 문자열, 통화 및 복식을 포함하는 1,500 × 16 변형 배열입니다. 웬일인지, 내가 rng = works으로 배열을 출력 할 때 처음 156 행만 올바르게 출력되고 이후에는 아무 것도 얻지 못합니다.

코드가 여전히 실행중인 것처럼 보입니다. 해당 범위의 셀을 클릭하면 수식 표시 줄이 크게 깜박입니다. 내가 실행하려고하는 코드를 멈추거나 깨뜨릴 때마다 충돌이 발생합니다. 누구도 비슷한 경험을 쌓았 는가?

+2

워크 시트에 이벤트 코드가 있습니까? – Rory

+0

[범위에서 2 차원 배열] 참조 (http://stackoverflow.com/questions/18481330/2-dimensional-array-from-range/18481730#18481730) –

+0

어떤 Excel 버전을 사용하고 있습니까? – L42

답변

1

시도 ws.Range("A1").Resize(UBound(works, 1), UBound(works, 2))

+1

좀 더 자세한 정보를 제공해 주실 수 있습니까? * 왜 OP가 이것을 시도해야합니까? – Schorsch

+1

@Schorsch Patrick의 말에 따르면 "A1 : P1"은 문제를 다소 구름에.니다. 배열이 OP가 기대하는 것과 매우 다른 차원 인 경우, 내가 제안한 코드는이를 나타낼 것입니다. 내가 코멘트로 올리고 그것이 OP를 위해 일하면, 그는 "감사합니다!"라고 말하는 코멘트를 남길 것이다. 그 질문은 고아이고 대답하지 않은 질문의 계급에 합류 할 것입니다. 이 코드가 OP 문제의 실제 원인을 밝혀 낼 것이라는 희망이이 코드에서 질문에 대한 답변으로 제공됩니다. – Blackhawk

+0

@Blackhawk, 그 방법은 소리가 났지만 기본 배열에는 범위에 할당되었을 때 나타나는 오류가있었습니다. 노련한 StackOverflow 사용자로서 다음 질문에 내가 무엇을 추천합니까? – MMerry

관련 문제