【发布时间】:2019-03-14 15:30:04
【问题描述】:
我想从 A1 单元格开始复制一系列单元格(动态行数)。下面的代码对我不起作用,因为它没有将整个单元格值范围从当前位置移动到 A1。请指教。
Range("E:E").Cut Range("A1")
例子,
如果 E 中的范围为 50 行,则剪切和移动应从 A1 开始并在 A50 结束。 如果 E 中的范围为 999 行,则剪切和移动应从 A1 开始,到 A999 结束。
【问题讨论】:
我想从 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
【讨论】: