2015-12-17 65 views
0

我正在運行涉及多個複製粘貼過程的VBA宏。但是,使用.copy(目標)給出「範圍類的複製方法失敗。」這是代碼。VBA複製方法錯誤

Dim Prop As Range 
Dim propo As Range 
Set Prop = sha.Range("B6") 
Set propo = Sheets("Summary").Range("B1") 
Prop.Copy (propo) 

但是,我發現一個奇怪的解決此問題。取而代之的.copy(目標)我用.copy然後.PasteSpecial:

Dim Prop As Range 
Dim propo As Range 
Set Prop = sha.Range("B6") 
Set propo = Sheets("Summary").Range("B1") 
Prop.Copy 
propo.PasteSpecial (xlPasteValues) 

知道爲什麼這是必要的?我寧願繼續保持簡單。

+2

刪除'()'各地PROPO –

+0

感謝斯科特!我很驚訝這很簡單 – Tollbooth

回答

3

看來,這是必要的原因是你的語法不正確。在微軟文檔的Range.Copy它列出了增加一個目的地,你的代碼應該是:

Worksheets("Sheet1").Range("A1:D4").Copy _ 
    destination:=Worksheets("Sheet2").Range("E5") 

如下所示:https://msdn.microsoft.com/en-us/library/office/ff837760.aspx