2017-04-12 68 views
0

我試圖剪切一個單元格範圍,然後粘貼一個單元格的相同範圍。當我運行這個基本代碼時,它仍然給我運行時錯誤1004應用程序或對象定義的錯誤。爲什麼我得到這個錯誤?這會需要一個數組嗎?剪切一個範圍和粘貼特定公式

Sub Cut_Paste 
    Range("D4:F8").Cut 
    Range("E4:G8").PasteSpecial xlPasteFormulas 
End Sub 
+0

您可以從工作表這個測試自己,但如果粘貼複製,而不是切特殊選項纔可用。您可以複製並清除原始單元格。 – SJR

回答

0

嘗試類似的東西:

Sub Cut_Paste 
    Range("D4:F8").Cut Destination:=Range("E4:G8")  
End Sub 
+0

這很好,謝謝 –

0

僅使用目標的左上角單元格然後清除複製較大範圍。

Sub Cut_Paste 
    with Range("D4:F8") 
     .copy 
     Range("E4").PasteSpecial xlPasteFormulas 
     .clear 
    end with 
End Sub 
+0

我很抱歉,我不得不編輯問題,FillRight/Clear函數似乎只適用於單列範圍,我需要移動3列範圍。此代碼可以處理大於一個列範圍嗎? –

+0

可能最好返回到PasteSpecial,但您只需要目標的左上角。這從考慮中去除了不利的目標範圍計算。 – Jeeped

+0

我認爲這將工作,如果我只是使用副本,然後粘貼,然後清除原始副本範圍的第一列。 –