在记录集更改后使用宏插入多行?

时间:2013-11-19 16:37:42

标签: excel vba excel-vba

这是一个继承的代码,我不是VBA的专家,实际上 - 我从来没有用过它。经过一段时间的考虑,我觉得也许有人可以提供一些急需的帮助。

目前这个VBA会在columnd D发生变化时添加一行。这样可以正常工作,我想要增加的是插入的行数。让我们说,而不是1,我想插入4行。我会在代码中哪些地方制作这些字符?

Sub InsertRowAtChangeInValue()

Dim lRow As Long

' Break line at USD / Local

For lRow = Cells(Cells.Rows.Count, "D").End(xlUp).Row To 2 Step -1
If Cells(lRow, "D") <> Cells(lRow - 1, "D") Then Rows(lRow).EntireRow.Insert
Next lRow

我假设它必须是Then Rows(lRow).EntireRow.Insert中的某些东西,但我尝试的一切似乎都不起作用。

如果您还可以解释为什么您的建议有用,那也会有所帮助,因此我不再需要依赖社区。感谢

1 个答案:

答案 0 :(得分:0)

这是最快的方式:

Sub InsertRowAtChangeInValue()

    Dim lRow As Long

    ' Break line at USD / Local

    For lRow = Cells(Cells.Rows.Count, "D").End(xlUp).Row To 2 Step -1
        If Cells(lRow, "D") <> Cells(lRow - 1, "D") Then
            Rows(lRow).EntireRow.Insert
            Rows(lRow).EntireRow.Insert
            Rows(lRow).EntireRow.Insert
            Rows(lRow).EntireRow.Insert
        End If
    Next lRow
End Sub