在现有数据下复制并粘贴数据

时间:2018-02-13 09:45:47

标签: excel vba

我的任务是将不同表格中的单个表格数据复制并粘贴到主表格中。我写了下面的编码,但是有一个错误" Object Required"我的第二行。

我特别感到困惑的是如何在现有数据下粘贴数据。所有单独的工作表都具有相同的表格格式。

感谢任何帮助,谢谢!

Private Sub CommandButton1_Click()

'Delete Master Table
Application.ScreenUpdating = False
Sheets("Pivot Table Data").ListObjects("MasterTable").Range.Select
Rows("4:" & Rows.Count).ClearContents   

'Copy and Paste data from other Sheets
Worksheets("HK-SLHK").ListObjects("TableHK").DataBodyRange.Copy Destination:=Worksheets("Pivot Table Data").Range("B4")
Application.CutCopyMode = False
Worksheets("Indonesia-SLFI").ListObjects("TableIndoSLFI").DataBodyRange.Copy Destination:=Worksheets("Pivot Table Data").Cells(Row.Count, B).End(xlUp).Row + 1
Application.CutCopyMode = False
End Sub    

1 个答案:

答案 0 :(得分:0)

在您的代码中,而不是Row.Count为最后一行声明一个变量:

Dim myLastRow as Long

然后将此变量分配给这样的函数:

myLastRow = LastRow(Worksheets("Pivot Table Data"))
Function LastRow(sh As Worksheet)
    On Error Resume Next
    LastRow = sh.Cells.Find(What:="*", _
                            After:=sh.Range("A1"), _
                            Lookat:=xlPart, _
                            LookIn:=xlFormulas, _
                            SearchOrder:=xlByRows, _
                            SearchDirection:=xlPrevious, _
                            MatchCase:=False).Row
    On Error GoTo 0
End Function

并在目的地使用它:

Worksheets("Indonesia-SLFI").ListObjects("TableIndoSLFI").DataBodyRange.Copy _
      Destination:=Worksheets("Pivot Table Data").Cells(myLastRow, B).End(xlUp).Row + 1

此外: