将单元格范围复制到新位置
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
注意:
您无需为目标指定相同的尺寸。单个细胞就可以。
之前:
之后:
以上是关于将单元格范围复制到新位置的主要内容,如果未能解决你的问题,请参考以下文章