[英]How to copy a data range to the last row on another worksheet?
我正在尝试将另一工作表中的一行复制到我的数据跟踪表的最后一行。
我得到应用程序定义或 object 定义错误。
Sub Macro1()
Dim i As Integer
Dim A As Integer
Range("A20:AB20").Select
Selection.Copy
Application.WindowState = xlNormal
Windows("master tracking sheet.xlsm").Activate
i = Worksheets("Recieved Results").cells(Rows.Count, 1).End(xlUp).Row
A = i + 1
Selection.End(A).Select
Range(A).Select
ActiveSheet.Paste
End Sub
您不需要使用Select
或Activate
之类的东西。 由于您可以在 VBA 中将事物声明为对象,因此您可以使用它来执行大多数操作,而无需使用其中任何一个。 试试下面的代码:
Sub CopyFromOneSheetToAnother()
Dim oCopyFromWS As Worksheet: Set oCopyFromWS = ThisWorkbook.Worksheets("Sheet3") '<- Change the sheet name to the sheet you want to copy from
Dim oCopyToWS As Worksheet: Set oCopyToWS = ThisWorkbook.Worksheets("Sheet4") '<- Change the sheet name to the sheet you want to copy to
Dim iLR As Long: iLR = oCopyToWS.Cells(oCopyToWS.Rows.Count, 1).End(xlUp).Row + 1
oCopyFromWS.Range("A20:AB20").Copy oCopyToWS.Range("A" & iLR)
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.