2017-10-16 116 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