Excel Visual Basic将Row的一部分移动到第二行

时间:2011-10-15 22:13:29

标签: excel vba

我正在尝试将excel中的部分行移动到原始行下方的新行。我找到了一种在所有数据行之间插入空行的方法,但无法弄清楚如何将数据从单元格AG:AR切割到A:L中的下面一行。可以有无限数量的行。

这里有一个我拥有的样本以及完成后我想要它的样子:

示例开始数据:

Row 1: A1 A2 A3 A4 A5 A6 A7 A8

Row 2: B1 B2 B3 B4 B5 B6 B7 B8

成品:

Row 1: A1 A2 A3 A4 A5

Row 2: A6 A7 A8

Row 3: B1 B2 B3 B4 B5 

Row 4: B6 B7 B8

我能够通过以下方式解决这个问题:

我能够弄明白。

这是我做的:

 Dim LastRow As Long
 Dim NextRow As Long

 Do Until ActiveCell.Row = 2
    LastRow = Range("AG65536").End(xlUp).Row
    NextRow = Range("AG65536").End(xlUp).Row + 1
    Range("AG" & LastRow & ":AR" & LastRow).Select
    Selection.Cut
    Range("A" & NextRow).Select
    ActiveSheet.Paste
Loop

1 个答案:

答案 0 :(得分:1)

Dim rng as Range
Set rng = ActiveSheet.Range("AG2:AR2")
rng.Cut Destination:= rng.offset(1,0).Entirerow.Cells(1)