【问题标题】:Paste Special error in VBA Excel 2010VBA Excel 2010 中的粘贴特殊错误
【发布时间】:2016-04-13 08:53:19
【问题描述】:

我正在尝试复制和粘贴值,这实际上并不难。

为了只复制单元格值的值,我使用 Paste.Special x1PasteValues。

有趣的部分来了:

Set wsd = Sheets("Data")
wsd.Select
With wsd
.Range("L5:X5").Select

.PasteSpecial x1=PasteValues        <~~ Runtime error: 1004        
'.PasteSpecial Paste:=xlPasteValues <~~ equivalent to the above
'.PasteSpecial                      <~~ This works, but only pastes the formula
'.Paste                             <~~ This pastes the formula

End With

如果我执行代码,我会收到运行时错误:1004 并且我找不到解决方案。如果我想粘贴格式,也会发生同样的情况。

也许问题是宏是写在 ActiveX 按钮中的,这就是为什么我必须与 wsd 一起使用。

非常感谢您的帮助。提前致谢!

编辑:我刚刚发现了一个类似的主题,其中通过切换工作簿并手动激活宏(而不是宏按钮)会出现问题。由于我在工作表之间切换,我的代码中是否会出现同样的问题?

Excel VBA runtime error 1004

【问题讨论】:

    标签: excel paste vba


    【解决方案1】:

    看起来您正在引用工作表,选择单元格,然后再次引用工作表对象以粘贴到其中而没有给出这样做的范围。这适用于 Excel 2013,您可能需要在其他版本上使用语法

    Set wsd = Sheets("Data")
    With wsd
        .Range("L5:X5").PasteSpecial xlPasteValues, xlPasteSpecialOperationNone, False, False
    End With
    

    【讨论】:

    • 谢谢先生或妈妈! :)
    猜你喜欢
    • 2017-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-25
    相关资源
    最近更新 更多