2017-05-04 87 views
-1

所以我有一長串文字,需要複製並粘貼到另一張紙上的第一個30列左右,然後粘貼下一個30在下面的列中,等等。 我記錄了一個宏的開始,但不知道如何使它完成整個事情,而不是單獨寫出每一位。VBA Excel - 需要複製一個範圍,然後將它粘貼到一列然後循環

Sub asdasd() 

' 
    Range("A2:A29").Select 
    Selection.Copy 
    Sheets("COMMON WORDS").Select 
    Range("AG2").Select 
    ActiveSheet.Paste 
    Sheets("COMMON - SINGLE LIST").Select 
    Range("A30").Select 
    Range("A30,A57").Select 
    Range("A57").Activate 
    Range("A30:A57").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
    Sheets("COMMON WORDS").Select 
    Range("AH2").Select 
    ActiveSheet.Paste 
End Sub 

在此先感謝!

回答

2
Sub LoopCopy() 

    Dim rngCopy As Range, rngPaste As Range 

    Set rngCopy = Sheets("COMMON - SINGLE LIST").Range("A2:A29") 
    Set rngPaste = Sheets("COMMON WORDS").Range("AG2") 

    'copy while there's data in rngCopy... 
    Do while application.counta(rngCopy) > 0 
     rngCopy.copy rngPaste 
     set rngCopy = rngCopy.offset(rngCopy.rows.count, 0) '<< move copy range   
     set rngPaste = rngPaste.offset(0, 1) '<< move paste postion over 
    Loop 

End Sub 
+0

謝謝,像夢一樣工作。 – Nadav

相關問題