XLS - 复制&粘贴在VBA中 - PasteSpecial方法失败

时间:2016-02-18 15:39:53

标签: excel vba excel-vba

我正在努力解决一个棘手的问题。我试图简单地使用VBA在XLS工作表中复制和粘贴一组单元论坛。工作表(wks1)是从AccessDB创建并填充的,否则工作正常。

错误:"范围类的PasteSpecial方法失败"

wks1.Range("P5:S5").Copy
wks1.Range("P5:S10").PasteSpecial _
       Paste:=xlPasteFormulas, _
       Operation:=xlNone, _
       SkipBlanks:=False, _
       Transpose:=False

我尝试过多种变体,但不断碰到这个错误的信息。

有任何建议让这个工作吗?

1 个答案:

答案 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

但是当只需要值或公式时,为什么要包含剪贴板?直接分配它们更快更干净。因此,当需要多于值或公式时,我会使用复制/粘贴。