运行-time Error '1004' ActiveSheet.Paste 变成了 table failing

Run-time Error '1004' ActiveSheet.Paste into a table failing

您好,我是 VBA 和 Whosebug 的新手。

我的程序只是简单地选择了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

当我运行程序时,它给出"Run-time Error '1004' "。这一行的错误:

    ActiveSheet.Paste

我知道有比使用选择更好的方法来解决这个问题,虽然这些对我来说很有趣,但我也想知道问题的原因。

感谢您的帮助。

复制数据后,您的问题似乎与 "Selection.ListObject.ListRows.Add AlwaysInsert:=False" 有关。这似乎导致系统"forget"复制的数据。

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

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