我正在尝试编写一个宏来粘贴特殊公式,但一直得到运行时错误1004“Range类的PasteSpecial方法失败”。
此宏直接来自使用Excel提供的“记录宏”。
Sub paste_formulas()
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End Sub
以下是事件序列:
那是我收到错误的时候。为什么我在复制/粘贴特殊公式时手动工作,但在宏中失败?
注意:我需要这个以上述顺序工作,无论我复制的选定范围(会不时变化),无论我粘贴公式的位置如何(也会不时变化)。换句话说,硬拷贝固定范围的复制和/或粘贴对我来说不起作用。
提前感谢您了解我的代码无效或提供解决方法的任何帮助。
答案 0 :(得分:3)
原因非常简单,当您从CSV复制然后在工作簿中复制时,单击开发人员工具栏中的Macros
,Excel将清除剪贴板。
当您点击Developer | Macros
时,Excel有清除剪贴板的习惯。为了演示这一点,请复制同一工作簿中的单元格。你会看到蚂蚁像细胞周围的边界。现在在同一个工作簿中,单击Developer |宏。像边界一样的Ant将会消失:)
设置宏的快捷键并使用它。它会工作:))