从工作表中一个表的最后一行复制/粘贴到另一最后一行

时间:2019-12-27 10:02:28

标签: 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
    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

1 个答案:

答案 0 :(得分:1)

它对我来说很好,但有一个错误:应该是

sidsteRow = table.Cells(Rows.Count, 1).End(xlUp).Row + 1

否则,您将仅粘贴到最后一行,而不是将其追加到目标的最后一行之后。

如果您打算复制最后一行的内容,那么它的工作方式完全符合我的测试要求。