繁体   English   中英

如何将数据范围复制到另一个工作表的最后一行?

[英]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

您不需要使用SelectActivate之类的东西。 由于您可以在 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM