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

时间:2016-12-16 03:55:25

标签: excel vba excel-vba copy-paste

您好我是VBA和stackoverflow的新手。

我的程序只选择Table1并将其复制到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' &#34 ;.这一行中的错误:

    ActiveSheet.Paste

我知道有更好的方法可以解决这个问题,而不是使用选择,虽然这些对我很有意思,但我也想知道问题的原因。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

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

这可能是一个合适的解决方案

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

答案 1 :(得分:1)

非常感谢

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

关于代码 - 您的更改对遗忘的信息没有帮助,但经过一些修改后效果很好。

这是最终代码:

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