运行时错误'1004'ActiveSheet.Paste到表失败

你好我是VBA和stackoverflow的新手。

我的程序只是selectTable1并将其复制到Table2的末尾。 代码如下。

Sub c_p() Application.Goto Reference:="Table1" Selection.Copy Application.Goto Reference:="Table2" Selection.End(xlToRight).Select Selection.End(xlDown).Select Selection.ListObject.ListRows.Add AlwaysInsert:=False ActiveSheet.Paste End Sub 

当我运行该程序时,它会给出“运行时错误”1004“”。 这一行中的错误:

  ActiveSheet.Paste 

我知道有更好的方法去做这件事,而不是使用select,虽然这些对我来说很有趣,但我也想知道问题的原因。

感谢您的帮助。

您复制数据后,您的问题似乎与“Selection.ListObject.ListRows.Add AlwaysInsert:= False”。 这似乎导致系统“忘记”复制的数据。

这可能是一个适当的解决scheme

 Sub c_p() Application.Goto Reference:="Table1" Selection.Copy Application.Goto Reference:="Table2" Selection.ListObject.ListRows.Add AlwaysInsert:=False Application.Goto Reference:="Table2" Selection.End(xlToRight).Select Selection.End(xlDown).Select ActiveSheet.Paste End Sub 

万分感谢

你是对的,系统忘记了复制的数据..

关于代码 – 你的改变没有帮助忘记的信息,但有一些修改它的作品很好。

这里是最终的代码:

 Sub c_p2() Application.Goto Reference:="Table2" Selection.ListObject.ListRows.Add AlwaysInsert:=False Application.Goto Reference:="Table1" Selection.Copy Application.Goto Reference:="Table2" Selection.End(xlDown).Select Selection.End(xlDown).Select ActiveSheet.Paste End Sub