2017-01-09 17 views
1

新しいデータの間に区切りの行を挿入し、すでに分離されている既存のデータを無視する必要があります。まだなければ行を挿入

このコードは実行しますが、実行するたびに空の行に行を追加し続けます。

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

あなたはこの行、または前の行は、空の場合、余分な行を挿入しないようにコードを変更する必要があります。

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 
関連する問題