2017-07-14 318 views
0

我試圖複製和粘貼一系列單元格。我有單元格D1:D10,需要複製D1並粘貼A1:A20,然後移至D2並粘貼至A21:A40,依此類推。我已經通過A1:A20成功獲得了D1。我不知道如何讓它移動到下一個單元格。 (「CountofResponses」)等於20.Excel VBA複製和粘貼循環

Private Sub CommandButton1_Click() 

Dim i As Integer 
Range("D1").Select 
Selection.Copy 
For i = 1 To Range("CountofResponses") 
    Range("A" & 1 + i).Select 
    ActiveSheet.Paste 
Next i 

End Sub 

回答

0

重寫此爲我誤解了第一部分。稱爲OFFSET的VBA函數就是您要查找的內容。有完成你不使用複製/粘貼總體目標的更有效的方法,但對於一個確切的答案的緣故......在這裏你去:

Private Sub CommandButton1_Click() 
    Dim i As Integer 
    For i = 1 To Range("CountofResponses") 
    Range("D1").Offset(i-1,0).Select 
    Selection.Copy 

     Range("A" & 1 + i).Select 
     'or you could use Range("A1").offset(i-1,0).Select 
     ActiveSheet.Paste 
    Next i 
    End Sub 
1

試試這個

Private Sub CommandButton1_Click() 

Dim r As Range 

For Each r In Range("D1:D10") 
    Range("A" & 1 + (r.Row - 1) * 20).Resize(Range("CountofResponses")).Value = r.Value 
Next i 

End Sub