繁体   English   中英

在Excel错误1004中使用VBA剪切和粘贴循环

[英]Cut and Paste Loop with VBA in Excel Error 1004

对于我当前的项目,我试图在工作表中将一组单元格向下移动到一定数量的行。 我认为最简单的方法是切割第二组到最后一组并将其粘贴到最后一组,然后将第三组切割到最后一组并将其粘贴到第二组到最后一组的位置,依此类推(从那时起)我不想成为要扩展的列表)使用以下代码:

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。

谁能帮我吗?

改为使用这个:

With Sheets("Calc")
   For i = 298 To 8 Step -5
       .Range(.Cells(i, 130), .Cells(i + 4, 130)).Cut Destination:=.Cells(i + 5, 130)
   Next i
End With

如我所见,你可以在没有循环的情况下完成它:

With Sheets("Calc")
    .Range(.Cells(8, 130), .Cells(302, 130)).Cut Destination:=.Cells(13, 130)
End With

顺便说一句,我已经将目的地范围从Sheets("Calc").Cells(i + 5, 1)改为Sheets("Calc").Cells(i + 5, 130) (据我所知你的问题,你想要的)移动细胞,但不能跨越细胞)

您不能将PasteSpecialCut

您可以复制并粘贴为值

要么

你可以剪切和粘贴

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM