2017-10-16 93 views
0

無法修復此Range.cut錯誤。 @ Sheet5.Range(行(i),行(i + 4))。切片Sheet61.Range(行(i)) 任何幫助表示讚賞。VBA範圍對象所需的錯誤

Dim i As Long 
Dim maxRow As Long 

    maxRow = 120 
    For i = 20 To maxRow Step 19 

    Sheet5.Range(Rows(i), Rows(i + 4)).Cut Sheet61.Range(Rows(i)) 
next i 
+2

貌似'Sheet5'不是活動工作表,請參閱[這個答案](https://stackoverflow.com/a/46775888/1188513)爲你在做什麼做錯了。你的縮進也是很奇怪的。粘貼你的代碼[** here **](http://rubberduckvba.com/indentation)並點擊「縮進!」 (免責聲明:我擁有該網站)。 –

+0

(注意:在線壓頭區分大小寫,小寫'下一個'會令人困惑) –

+0

抱歉,我的拼寫錯誤。實際上Excel會檢查它並在需要時進行更改。激活工作表沒有幫助,因爲所有其他腳本工作正常。 「IDENT」也沒有發現這種低檔錯字。 – Pavigo

回答

1

行(i)返回活動工作表中範圍的引用,所以一個或另一個範圍將失敗。前綴由排工作表的代號:

Sheet1.Range(Sheet1.Rows(i), Sheet1.Rows(i + 4)).Cut Sheet2.Rows(i) 
+0

RTE 424需要的對象。我認爲這是'Cut'之後的一部分 – Pavigo

+0

您是否在上面的代碼示例中將Sheet1更改爲Sheet5,將Sheet2更改爲Sheet61?你在你的模塊的開頭有Option Explicit嗎?你編譯過你的代碼嗎? – Excelosaurus

+0

現在代碼中的所有內容都是正確的,但我沒有使用Explicit。不同的工作表,它只是嘗試不同的方式。 – Pavigo