Excel 将数据追加到另一工作表的最后一行

Excel 将数据追加到另一工作表的最后一行,excel,vba,copy,match,paste,Excel,Vba,Copy,Match,Paste,我只需要从一张纸上抓取一列(范围),然后附加到另一张纸上。由于某些原因,在尝试运行“粘贴值”函数时,我一直收到一个错误1004-对象/应用程序定义的错误 任何帮助都将不胜感激 Sub copycontactsiratotpsd() Dim LastRowIRA2 As Long Dim LastRowIRA As Long Dim LastRowPOV As Long Dim lastrow As Long 'activate sourc

我只需要从一张纸上抓取一列(范围),然后附加到另一张纸上。由于某些原因,在尝试运行“粘贴值”函数时,我一直收到一个错误1004-对象/应用程序定义的错误

任何帮助都将不胜感激

    Sub copycontactsiratotpsd()

    Dim LastRowIRA2 As Long
    Dim LastRowIRA As Long
    Dim LastRowPOV As Long
    Dim lastrow As Long




    'activate source sheet
    ActiveWorkbook.Worksheets("IRA").Activate

    'copy from rev to ira AG to match # of rows for TPRM Contacts before appending
    ActiveWorkbook.Sheets("Rev").Range("B2:B15000").SpecialCells(xlCellTypeVisible).Copy
    ActiveWorkbook.Sheets("IRA").Range("AG2:AG15000").PasteSpecial xlPasteValues

    'define last rows for all three instances
    LastRowIRA = ActiveSheet.Range("A1").CurrentRegion.Rows.count
    LastRowIRA2 = ActiveSheet.Range("AG1").CurrentRegion.Rows.count
    lastrow = WorksheetFunction.Max(Sheets("TPD").Cells(Rows.count, "A").End(xlUp).Row)

    LastRowPOV = ActiveWorkbook.Sheets("TPD").Range("A1").CurrentRegion.Rows.count

    'if the number of lastrow in source sheet is equal to total VISIBLE last row within reference sheet then
        If LastRowIRA = LastRowIRA2 Then

            ActiveWorkbook.Worksheets("IRA").Activate

            'copy the data needed, values are generally less than 10000 rows
            ActiveWorkbook.ActiveSheet.Range("B2:B10000").Copy

            ActiveWorkbook.Sheets("TPD").Range("A", lastrow).PasteSpecial xlPasteValues

'LINE WITH ERROR ABOVE




        'else display msg for error handling
        Else: MsgBox "Row Count is off! *CHECK*"

        End If


    ActiveWorkbook.Worksheets("IRA").Activate
    Columns(33).EntireColumn.Delete

    End Sub

要允许回答结束此问题,请执行以下操作:

ActiveWorkbook.ActiveSheet.Range("B2:B10000").Copy
ActiveWorkbook.Sheets("TPD").Cells(lastrow, "A").PasteSpecial xlPasteValues
或:


要允许回答结束此问题,请执行以下操作:

ActiveWorkbook.ActiveSheet.Range("B2:B10000").Copy
ActiveWorkbook.Sheets("TPD").Cells(lastrow, "A").PasteSpecial xlPasteValues
或:


错误语法:范围(“A2”)与单元格(行、列)错误语法:范围(“A2”)与单元格(行、列)如此简单的更改!对于将来的知识获取,使用一个比另一个有什么好处吗?@VBAWARD在某些情况下,某些操作只会确认Range(),但当您想要迭代嵌套循环时,通过单元格(r,c)循环会更容易(否则,当您可以说c=1到20时,您将处理“A”=1)。我个人倾向于使用单元格(,),除非我被要求使用Range()。这么简单的改变!对于将来的知识获取,使用一个比另一个有什么好处吗?@VBAWARD在某些情况下,某些操作只会确认Range(),但当您想要迭代嵌套循环时,通过单元格(r,c)循环会更容易(否则,当您可以说c=1到20时,您将处理“A”=1)。我个人倾向于使用单元格(,),除非我被要求使用Range()。