2017-04-11 81 views
2

我對這個問題有三個部分。我在Sheet1!A1中有一個包含星期編號的單元。我在Sheet1!B1:F1中需要複製一個靜態範圍。然後,我需要將該值粘貼到Sheet2中的動態範圍內,並按行的週數粘貼。這是我爲一張我經常使用的表格寫的一個更大的宏的一部分,但我似乎有這些部分。我可能是簡單化或簡單化,但這是我目前所擁有的。在一張紙上覆制靜態範圍,然後根據單元格中的單個值將其粘貼到另一張紙上的動態範圍中

Sub CopyPaste() 
    Sheets(1).Range("B1:F1").Copy 
    OffsetRange = Sheets(1).Cells(1,1).Value 
    Sheets(2).Cells(1+OffsetRange,1).Paste 
End Sub 

當我運行這一點,無論是給了我一個運行時錯誤9或運行時錯誤438

任何人都知道什麼是導致這些錯誤?當我粘貼範圍時,當我粘貼到位置時,單元格對象是否指向複製範圍的第一個單元格?

回答

1

嘗試如,

Option Explicit 

Sub CopyPasteOffset() 
    Dim OffsetRange As Long 
    OffsetRange = Worksheets(1).Cells(1, 1).Value 
    Worksheets(1).Range("B1:F1").Copy _ 
     Destination:=Worksheets(2).Cells(1 + OffsetRange, 1) 
End Sub 

.Paste方法是工作表中的一員,不範圍,或細胞的影響。您可能會將它與.PasteSpecial混淆,該對象是Range對象的成員。無論如何,這是不必要的,因爲目的地可以直接應用於複製命令。

+0

Destination:=給我「Expected:expression」,Destination =給我「變量未定義」 –

+0

你在'.Copy _'後面加了下劃線嗎?你像我一樣重新安排命令嗎? – Jeeped

+0

我看到這個問題。我沒有副本和_之間的空間。有沒有辦法將複製的目的地包含爲粘貼特殊值?原始代碼不包含粘貼操作,所以我很好奇我如何才能做到這一點? –

相關問題