0
现在,我有一个包含主工作表和多个单独客户工作表的工作簿。我正在编写一些代码来查看客户专栏,复制该行,然后将其粘贴到各自的工作表中。最后,我希望我的模板的最后一行作为客户表的最后一行被粘贴。这是计算平均值。到目前为止它可以工作,但最后一行被粘贴到工作表的顶部,而不是底部。我不知道如何让它成为最后一排。复制工作表的最后一行并粘贴到不同工作表的最后一行VBA
Sub copyPasteDataCustomer()
Dim sws As Worksheet
Dim tws As Worksheet
Dim cel As Range
Set sws = Sheets("Master")
For Each cel In sws.Range("B5:B" & Range("B" & Rows.Count).End(xlUp).Row)
Set tws = Sheets(CStr(cel.Value))
cel.EntireRow.Copy tws.Range("A" & Rows.Count).End(xlUp).Offset(1)
Dim ws1 As Worksheet: Set ws1 = ThisWorkbook.Sheets("Canvus")
Dim ws2 As Worksheet: Set ws2 = tws
For i = 2 To ws1.Range("G" & Rows.Count).End(xlUp).Row
ws1.Rows(i).Copy ws2.Rows(ws2.Cells(ws2.Rows.Count, "G").End(xlUp))
Next i
Next cel
End Sub
该行是否粘贴到您的'For i'循环中的顶部?您可能还需要在该循环中的'.End(xlUp)'之后添加'.Row',以确保它正确地获取该行。 – BruceWayne
是的,这是正确的,粘贴在顶部的线在循环中。谢谢,我现在会尝试添加。 @BruceWayne – KingSneaky
哦,试试'...复制ws2.Rows(ws2.Cells(ws2.Rows.Count,“G”).End(xlUp).Row + 1)''。另外,为什么要创建另一个Worksheet变量,而不是仅仅使用'tws'而不是'ws2'? – BruceWayne