2013-07-23 4 views
0

스프레드 시트의 한 페이지에서 특정 셀의 데이터를 가져와 다른 순서로 페이지에 복사하는 매크로를 Excel에 기록했습니다. 그것은 각 세포를 개별적으로 수행하고 아주 길다.Excel에서 vba에 루프를 만드는 방법

그러나 첫 페이지의 데이터 한 행에 대해서만 수행합니다.

이 단일 매크로를 동일한 데이터를 복사하지만 각 행에서 새 페이지로 복사하는 루프로 만들려면 어떻게해야합니까?

매크로 코드가 너무 길기 때문에 매크로 코드를 포함하지 않았지만 필요한 경우 매크로 코드를 포함 할 수 있습니다.

감사

+4

코드를 입력하십시오. –

답변

0

에만 관련 부분, 또는 코드 만 만 문제를 해결하기위한 모형 매크로를 표시하는 코드를 생략 할 수있다.

이 경우에 매우 생략 하위로 문제를 상상할 수 있습니다 : 당신은 여러 번 호출 할 수있는 새로운 서브를 만들 수 있습니다

Sub OmittedSub() 
    ' Do stuff 
End Sub 

이 새로운 서브 대신 호출 할 것 하나가 될 것입니다 : 경우

Sub LoopOmittedSubs() 
    Dim i As Integer 

    ' Loop to call your macro routine multiple times 
    For i = 1 To 100 
     OmittedSub 
    Next 
End Sub 

당신이 당신의 매크로에 영향을하고 당신이 그것을 말할 필요가있는 줄 모르는 예를 들어 값을 통과해야합니다, 당신은 다음과 같이 루프 변수를 전달할 수 있습니다

Sub OmittedSub(iRow As Integer) 
    ' Do stuff for row number iRow 
End Sub 

Sub LoopOmittedSubs() 
    Dim i As Integer 

    ' Loop to call your macro routine multiple times 
    For i = 1 To 100 
     OmittedSub i 
    Next 
End Sub 

이 답변은 VBA의 기본적인 내용입니다. 나는 당신이 이미 시도한 것을, 어떻게 시도했는지 등을 모른 채 당신의 질문에 더 잘 대답하는 법을 모른다.

0

Raybarg는 그 문제에 대한 기본적인 해결책을 제시했다. 나는 "특정 세포"가 무엇을 의미하는지 확신 할 수 없다, 그들이 특정 가치를 가지고 있거나 A5, A10, A15와 같은 규칙적인 순서로 있다는 것을 의미합니까?

두 경우 모두 Raybarg의 코드와 조건문을 사용하게됩니다.

코드를 포함시켜야합니다. 실제로 얻고 자하는 부분과 오류가있는 부분에 대한 힌트를 제공해야합니다.

관련 문제