2017-05-04 5 views
-1

Also habe ich eine lange Spalte von Wörtern, müssen die ersten 30 oder so in eine Spalte auf einem anderen Blatt kopieren und fügen Sie dann die nächsten 30 in der folgenden Spalte, etc .. Ich habe den Anfang eines Makros aufgezeichnet, aber habe keine Ahnung, wie man es machen kann, ohne jedes Bit einzeln zu schreiben.VBA Excel - Müssen Sie einen Bereich kopieren, fügen Sie ihn in eine Spalte dann Schleife

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 

Vielen Dank im Voraus!

Antwort

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

Danke, arbeitete wie ein Traum. – Nadav

Verwandte Themen