2016-02-18 147 views
1

我正在努力解決一個嘮叨的問題。我正嘗試使用VBA將一組單元論壇集複製並粘貼到XLS工作表中。工作表(wks1)從AccessDB創建並填充,否則工作正常。XLS - 在VBA中複製和粘貼 - 粘貼特殊方法失敗

錯誤:「Range類的PasteSpecial方法失敗」

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

我已經嘗試了一些變化,但保持碰到這個錯誤信息。

任何可能的結果?

回答

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 

但是,當只值或公式是想要爲什麼包括剪貼板?直接分配它們會更快更清潔。所以我會使用複製/粘貼,當超過值或公式是想要的。

+0

(上限)爲非常好的第二個選項。你能否使用pastespecial添加一個版本? – whytheq

+0

嗨斯科特,這兩個選項在這方面工作很好。我仍然對一般的剪切和粘貼問題感到好奇 - 但我很樂意推遲進行額外的調查,直到下一次我需要它爲止。 :) - 再次感謝! –

+0

@whytheq請參閱編輯,但正如我所解釋的,當只需要公式或值時,我會使用第二種方法。 –