我正在努力解决一个棘手的问题。我试图简单地使用VBA在XLS工作表中复制和粘贴一组单元论坛。工作表(wks1)是从AccessDB创建并填充的,否则工作正常。
错误:"范围类的PasteSpecial方法失败"
wks1.Range("P5:S5").Copy
wks1.Range("P5:S10").PasteSpecial _
Paste:=xlPasteFormulas, _
Operation:=xlNone, _
SkipBlanks:=False, _
Transpose:=False
我尝试过多种变体,但不断碰到这个错误的信息。
有任何建议让这个工作吗?
答案 0 :(得分:3)
请改为:
wks1.Range("P5:S5").Autofill wks1.Range("P5:S10")
或
wks1.Range("P5:S10").formula = wks1.Range("P5:S5").Formula
对于特殊的粘贴,我的经验是少即是多:
wks1.Range("P5:S5").Copy
wks1.Range("P5:S10").PasteSpecial xlPasteFormulas
但是当只需要值或公式时,为什么要包含剪贴板?直接分配它们更快更干净。因此,当需要多于值或公式时,我会使用复制/粘贴。