首页 > 解决方案 > 将一系列单元格剪切并粘贴到选定的目标位置

问题描述

我想剪切并粘贴一系列单元格(例如 A2:D2 到 B1:E1),然后对 692 行重复此过程。

在此处输入图像描述

我一直在尝试在宏中执行此操作,但是没有成功。

Sub cut_paste() 
    Dim nr As Integer 
    For nr = 1 To 692 
        Range("A" & nr).Select 
        Selection.Cut 
        Range("B" & nr).Select 
        ActiveSheet.Paste 
        Range("B" & nr).Select 
        Selection.Cut 
        Range("C" & nr).Select 
        ActiveSheet.Paste 
        Range("C" & nr).Select 
        Selection.Cut 
        Range("D" & nr).Select 
        ActiveSheet.Paste 
        Range("D" & nr).Select 
        Selection.Cut 
        Range("E" & nr).Select 
        ActiveSheet.Paste 
    Next nr 
End Sub

错误 4001

在此处输入图像描述

在此处输入图像描述

标签: excelvbarangepastecut

解决方案


尝试:

Option Explicit

Sub test()

    Dim Lastrow As Long, i As Long

    With ThisWorkbook.Sheets("Sheet1")

        Lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row

        For i = 3 To Lastrow Step 2
            .Range("A" & i & ":D" & i).Cut .Range("B" & i - 1 & ":E" & i - 1)
        Next i

    End With

End Sub

推荐阅读