我看了看周圍的論壇和各種選擇播放,但沒有找到我的問題一個明確的比賽:使用從一個工作表複製多行到另一個工作表的宏/ VBA
我的任務是將數據從一個複製工作表(稱爲「工作單」)到第二個工作表(稱爲「工作分配」)。要複製的數據來自「工作單」工作表,從單元格範圍「E2,P2:S2」開始;並且還從每行(相同範圍)複製,直到列「P」爲空 - (每次我們需要運行此宏以使我們不能選擇標準範圍時,要複製的行數可能會有所不同)。然後粘貼到「作業」工作表中,從單元格「A4」開始。到目前爲止,我已經使用論壇成功複製了一行日期(從第2行開始) - 我承認這很容易,我已經使用各種版本的代碼來實現這一點。 我也嘗試了一些代碼(我通過觀看YouTube剪輯並修改了http://www.youtube.com/watch?v=PyNWL0DXXtQ)以允許我運行一個循環,該循環爲「工作單」工作表中的每個所需行重複複製過程,然後將數據粘貼到「作業」工作表 - 但這是我沒有得到它正確的地方,我認爲我沿着正確的路線,認爲我不遠處,但任何幫助將是非常有用的。下面(第2只複製第一行,第三個例子是
代碼示例,我一直在努力,循環和複製多行:
Sub CopyTest1()
' CopyTest1 Macro
'copy data from workorders sheet
'Worksheets("workorders").Range("E2,P2,Q2,R2,S2").Copy
Worksheets("workorders").Range("E2, P2:S2").Copy
'paste data to assignments sheet
'sheets("assigments dc").Range("A4").Paste
Sheets("Assigments DC").Select
Range("A4").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
Sub CopyTest2()
Sheets("workorders").Range("e2,p2,q2,r2,s2").Copy Sheets("assigments dc").Range("a4")
End Sub
Sub CopyTest3()
Dim xrow As Long
'Dim xrow As String
xrow = 2
Worksheets("workorders").Select
Dim lastrow As Long
lastrow = Cells(Rows.Count, 16).End(xlUp).Row
Do Until xrow = lastrow + 1
ActiveSheet.Cells(xrow, 16).Select
If ActiveCell.Text = Not Null Then
'Range("E2,P2,Q2,R2,S2").Copy
'Selection = Range("E2,P2,Q2,R2,S2").Copy
'Cells(xrow, 5).Copy
Cells(xrow, 5).Copy
Sheets("Assigments DC").Select
Range("A4").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Sheets("workorders").Select
End If
xrow = xrow + 1
Loop
End Sub
謝謝BK201 這似乎很好地工作:-) – dan1974
@ dan1974:謝謝你的接受。祝你好運! – Manhattan