将单元格范围复制到新位置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将单元格范围复制到新位置相关的知识,希望对你有一定的参考价值。

我有一系列单元格(动态行数),我希望从A1单元格开始复制。下面的代码对我不起作用,因为它没有将整个单元格值范围从当前位置移动到A1。请指教。

Range("E:E").Cut Range("A1")

例,

如果E中的范围是50行,则切割和移动应从A1开始并在A50结束。如果E中的范围是999行,则剪切和移动应从A1开始并在A999结束。

答案

根据您上面的评论,请参阅以下代码:

Sub CutPaste()

    Dim i As Long
    Dim sRow As Long, eRow As Long
    Dim ws As Worksheet

    Set ws = Sheets("Sheet1")

    'set the last row of data
    eRow = ws.Range("E" & ws.Rows.Count).End(xlUp).Row

    'find the start row of data
    For i = 1 To eRow
        If ws.Range("E" & i).Value <> "" Then
            sRow = i
            Exit For
        End If
    Next i

    'now cut and paste
    ws.Range("E" & sRow, "E" & eRow).Cut ws.Range("A1").Paste
    'clear clipboard and object
    Application.CutCopyMode = False
    Set ws = Nothing

End Sub
另一答案

这应该适合你:

Sub Kopy()
    Dim N As Long
    N = Cells(Rows.Count, "E").End(xlUp).Row
    Range("E1:E" & N).Cut Range("A1")
End Sub

注意:

您无需为目标指定相同的尺寸。单个细胞就可以。

之前:

enter image description here

之后:

enter image description here

以上是关于将单元格范围复制到新位置的主要内容,如果未能解决你的问题,请参考以下文章

Vba 代码在单元格范围内复制特定值

通过相对位置将单元格范围值更改为双击单元格的内容

将单元格范围从excel复制到电子邮件的主题和正文

根据另一个单元格值更改单元格范围

将单元格内的任何单词与单元格范围内的任何单词匹配

VBA excel Target.Address =单元格范围