【发布时间】:2014-03-18 14:02:16
【问题描述】:
对于我当前的项目,我正在尝试将工作表中的一组单元格向下移动到一定数量的行。我认为最简单的方法是剪切倒数第二组并将其粘贴到最后一组的位置,然后剪切倒数第三组并将其粘贴到倒数第二组的位置,依此类推(因为我不想成为不断扩展的列表)使用以下代码:
For i = 298 To 8 Step -5
Sheets("Calc").Range(Cells(i, 130), Cells(i + 4, 130)).Cut
Sheets("Calc").Range(Cells(i + 5, 1)).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Next i
但是,我总是在第二行代码中收到运行时错误 1004。
谁能帮帮我?
【问题讨论】:
-
使用
Sheets("Calc").Range(Cells(i, 130), Cells(i + 4, 130)).Cut Sheets("Calc").Cells(i + 5, 1)。顺便说一句,为什么不选择所有组,但最后一个,剪切它们并粘贴到第二组的请? -
@simoco 很抱歉,如果我遗漏了什么,但我不太明白你的代码。我在第二行代码中得到错误,你没有改变all.. 另一方面,关于组的事情 - 是的,你是对的 =)
-
好的,删除你的两行:1)
Sheets("Calc").Range(Cells(i, 130), Cells(i + 4, 130)).Cut和 2)Sheets("Calc").Range(Cells(i + 5, 1)).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False并用单行替换它们:Sheets("Calc").Range(Cells(i, 130), Cells(i + 4, 130)).Cut Destination:=Sheets("Calc").Cells(i + 5, 1)