簡體   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