向现有宏添加2行

时间:2014-08-06 19:35:58

标签: excel vba insert rows

下面是我现在正在使用的宏..底部的详细信息。

Sub AddBlankRows()
'
Dim iRow As Integer
Range("a1").Select
'
iRow = 1
'
Do
'
If Cells(iRow + 1, 1) <> Cells(iRow, 1) Then
    Cells(iRow + 1, 1).EntireRow.Insert shift:=xlDown
    iRow = iRow + 2
Else
    iRow = iRow + 1
End If
'
Loop While Not Cells(iRow, 2).Text = ""
'
End Sub

上面的宏我在Stackoverflows的一个问题中找到了(谷歌搜索)有人提出的问题,并且它的目的是为了我的目的。但是我无法找到它来提供有关它产生的问题的信息。

我现在正在使用它并且效果很好。但是我需要添加更多行。所以我必须手动插入行,因为我需要它们。我想让宏为我做。而不是在每个分组的单元格后添加1行。我需要添加2行。有人可以帮我编辑上面的宏,让它给我2行而不是1行。

另外,我需要根据E列中的数据而不是A来分隔行,我一直在搜索几个小时并用编码进行编码,但我无法让它工作,我是相当新的,仍在学习。

这是我的第一篇文章,并提前感谢所有人。

1 个答案:

答案 0 :(得分:0)

我不太确定你想用宏来实现什么,但在这里我会怎样做:

Sub AddBlankRows()

    Dim iRow As Integer
    Dim iCol As Integer

    iRow = 1 ' Row 1
    iCol = 5 ' Column E

    Do

        If Cells(iRow + 1, iCol) <> Cells(iRow, iCol) Then
            Range(Cells(iRow + 1, iCol), Cells(iRow + 2, iCol)).EntireRow.Insert shift:=xlDown
            iRow = iRow + 3
        Else
            iRow = iRow + 1
        End If

    Loop While Not Cells(iRow, iCol + 1).Text = ""

End Sub