如果尚未插入行,则插入行

时间:2017-01-09 01:23:45

标签: excel vba excel-vba

我需要在新数据之间插入一个分隔符行,并忽略已经分离的现有数据。

此代码执行此操作,但每次运行时都会向空行添加行。

Sub InsertRows()
  Dim lngLstRow As Long

  lngLstRow = Range("u" & Rows.Count).End(xlUp).Row
  For i = lngLstRow To 11 Step -1
    If Not IsEmpty(Range("u" & i)) Then
      If Range("u" & i) <> Range("u" & i - 1) Then
        Range("u" & i).EntireRow.Insert
      End If
    End If
  Next
End Sub

1 个答案:

答案 0 :(得分:1)

如果此行或上一行为空,则需要将代码更改为不插入额外行:

Sub InsertRows()
  Dim lngLstRow As Long
  Dim i As Long

  lngLstRow = Range("u" & Rows.Count).End(xlUp).Row
  For i = lngLstRow To 11 Step -1
    If Not (IsEmpty(Range("u" & i)) Or IsEmpty(Range("u" & i - 1))) Then
      If Range("u" & i) <> Range("u" & i - 1) Then
        Range("u" & i).EntireRow.Insert
      End If
    End If
  Next
End Sub