2015-01-03 2 views
-1

전치사를 복사하고 지나치려고하는 중이며 많은 행이 있습니다. 다음 코드는 레코드 매크로에서 얻습니다. 어떻게 L1000 : loop를 loop2에 생성합니까?복사하여 붙여 넣기를 위해 Excel에서 루프를 만드는 방법

Sub Macro4() 
    Sheets("sheet2").Select 
    Range("L5:N5").Select 
    Selection.Copy 
    Sheets("Sheet1").Select 
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ 
     False, Transpose:=True 

    Sheets("sheet2").Select 
    Range("L6:N6").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
    Sheets("Sheet1").Select 
    Range("B14").Select 
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ 
     False, Transpose:=True 

    Sheets("sheet2").Select 
    Range("L7:N7").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
    Sheets("Sheet1").Select 
    ActiveWindow.SmallScroll Down:=6 
    Range("B24").Select 
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ 
     False, Transpose:=True 
End Sub 
+0

붙여 넣기는 'Sheet2! B4'를 대상으로 시작합니까? 그렇지 않은 경우 대상 행 사이의 시차 또는 오프셋은 무엇입니까? – Jeeped

답변

0

Paste Special Paste:=xlPasteAll, Transpose:=True으로 복사 중이므로 수식과 서식을 유지하기 위해이를 유지했습니다. 전치 배열에서 값만 가져오고 싶다면 더 빠른 다른 방법이 있습니다.

대상은 B4로 시작하여 각 연속 루프에 10 개의 행을 추가합니다. 예 : 등 B4, B14, B24,

Sub Copy_From_WS1_to_WS2_by_10() 
    Dim rw As Long 
    Application.ScreenUpdating = False 
    Application.EnableEvents = False 
    Application.Calculation = xlCalculationManual 
    With Sheets("Sheet1") 
     For rw = 4 To 1000 
      .Cells(rw, 12).Resize(1, 3).Copy 
      Sheets("Sheet2").Cells(4 + (rw - 4) * 10, 2).PasteSpecial _ 
       Paste:=xlPasteAll, Transpose:=True, Operation:=xlNone, SkipBlanks:=False 
      Application.CutCopyMode = False 
     Next rw 
    End With 
    Application.Calculation = xlCalculationAutomatic 
    Application.EnableEvents = True 
    Application.ScreenUpdating = True 
End Sub 

나는 매크로의 끝에서 자동로 계산 모드를 반환했습니다. 수동으로 유지하려면 해당 행을 제거하거나 주석으로 처리하십시오.

관련 문제