复制并粘贴到新工作表中的最后一行

我目前正在试图从一个工作表复制并粘贴到一个新的工作表使用VBA。 但是我有以下variables

  • 包含正在复制的数据的工作表是dynamic的。 列保持不变,但行每周都在变化。
  • 数据将被添加到的新工作表是dynamic的。 列是相同的,但新的工作表行每周增加(例如行700一周行800下一个)。
  • 被复制和粘贴的列(A和BC)是一致的。
  • 数据应粘贴在新工作表的下一行可用行上的AB列上

我目前设法想出下面的代码,但我不断收到错误,不知道我哪里错了,因为我是新的VBA。

Sub CandP() ' ' Dim Last_Row As Long Application.ScreenUpdating = False Last_Row = Range("A2:BC2" & Rows.Count).End(xlUp).Row Range("A2:BC2").Copy Windows("Newsheet.xlsm").Activate Range("$A2:BC$" & last_row).FillDown End Sub 

所有的帮助表示赞赏,谢谢

你可以试试这个:

 Option Explicit Sub CandP() Dim Last_Row1 As Long, Last_Row2 As Long Dim WB1 As Workbook, WB2 As Workbook Dim ws1 As Worksheet, ws2 As Worksheet Set WB1 = ThisWorkbook ' Workbook where you want to copy the data Set ws1 = WB1.Sheets("Sheet1") ' Change the name of your Sheet Set WB2 = Workbooks.Open("C:\Desktop\vba\Newsheet.xlsm") ' Enter the address of the Workbook you want to paste the data Set ws2 = WB2.Sheets("Sheet1") ' Change the name of your Sheet Last_Row1 = ws1.Range("A" & Rows.Count).End(xlUp).Row ' Determine the lastrow of the data to copy Last_Row2 = ws2.Range("A" & Rows.Count).End(xlUp).Row + 1 ' Determine the next empty row in order to paste the data ws1.Range("A2:BC" & Last_Row1).Copy ws2.Range("A" & Last_Row2) End Sub