这是一个继承的代码,我不是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
中的某些东西,但我尝试的一切似乎都不起作用。
如果您还可以解释为什么您的建议有用,那也会有所帮助,因此我不再需要依赖社区。感谢
答案 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