Excel 将工作表中一个表的最后一行复制/粘贴到另一个最后一行
我的问题是目的地。复制的行直接转到另一个工作表中的同一行,而不是该工作表的最后一行Excel 将工作表中一个表的最后一行复制/粘贴到另一个最后一行,excel,vba,Excel,Vba,我的问题是目的地。复制的行直接转到另一个工作表中的同一行,而不是该工作表的最后一行 Sub Test() Dim data As Worksheet Dim table As Worksheet Dim lastRow As Integer Set data = Worksheets("Data Input") Set table = Worksheets("Data Tables") ActiveWorkbook.RefreshAll
Sub Test()
Dim data As Worksheet
Dim table As Worksheet
Dim lastRow As Integer
Set data = Worksheets("Data Input")
Set table = Worksheets("Data Tables")
ActiveWorkbook.RefreshAll
Application.ScreenUpdating = False
'Goes to last row containing data in sheet Data Input
lastRow = data.Cells(Rows.Count, 1).End(xlUp).Row
'Same as above but for Data Tables
sidsteRow = table.Cells(Rows.Count, 1).End(xlUp).Row
'Removes error msg when copy/pasting
Application.CutCopyMode = False
If data.Cells(lastRow, 4) <> "" Then
data.Cells(lastRow, 1).Copy table.Cells(sidsteRow, 1)
data.Cells(lastRow, 2).Copy table.Cells(sidsteRow, 2)
data.Cells(lastRow, 3).Copy table.Cells(sidsteRow, 3)
data.Cells(lastRow, 4).Copy table.Cells(sidsteRow, 4)
data.Cells(lastRow, 6).Copy table.Cells(sidsteRow, 5)
End If
Application.ScreenUpdating = True
End Sub
它对我来说很好,但有一个错误:它应该是
sidsteRow = table.Cells(Rows.Count, 1).End(xlUp).Row + 1
否则,您只是粘贴到最后一行,而不是将其附加到目标的最后一行之后
如果您的意图是复制最后一行的顶部,那么它的工作原理与我的测试中的意图完全相同。最好避免复制粘贴。因此,您可以简单地编写:table.cellssidstrow+1,1=data.cellsastrow,1