【问题标题】:Error message 'Runtime error '1004' Application-defined or object defined error when running copy/paste macro运行复制/粘贴宏时出现错误消息“运行时错误“1004”应用程序定义或对象定义错误
【发布时间】:2015-09-11 11:50:39
【问题描述】:

我正在尝试编写一个非常基本的宏,它可以从一张表中复制值并将它们粘贴到另一张表中。宏开始工作,然后开始返回Runtime error '1004' Application-defined or object defined error 消息。代码是:

Sub CopyPaste()
'
' CopyPaste Macro

    Sheets("Data Input").Range("C2:C11").Copy
    Sheets("Results").Range("A8").End(xlDown).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True
     Application.CutCopyMode = False
End Sub

【问题讨论】:

  • 您好,谢谢,我尝试省略 '.End(xlDown).Offset(1, 0)' 但该部分代码应该确保将数据粘贴到下一个空行中而不是直接粘贴在旧数据的顶部,因此摆脱它并不是最终的解决方案。当我删除它时它会起作用,然后当我将它放回代码中时它会起作用,然后再次停止工作。非常沮丧!

标签: excel vba


【解决方案1】:

与其从顶行开始,一直向下到底部,不如反过来做 - 从工作表底部开始向上直到找到第一个数据行。否则,当您只有一个或零个数据行(然后将返回最后一个工作表行)时,您会遇到问题 - 或者如果数据中有空白,您将获得第一个空白。

因此,请尝试以下代码:

Sub CopyPaste()
    Sheets("Data Input").Range("C2:C11").Copy
    Sheets("Results").Cells(Sheets("Results").Rows.count,1).End(xlUp) _
        .Offset(1).PasteSpecial Paste:=xlPasteValues Transpose:=True
     Application.CutCopyMode = False
End Sub

【讨论】:

    猜你喜欢
    • 2015-10-16
    • 2013-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    相关资源
    最近更新 更多