Sub Trennzeile()
Dim i As Long
Dim zEnde As Long
zEnde = Worksheets("Tabelle1").Range("B1").End(xlDown).Row
For i = zEnde To 2 Step -1
If Left(Worksheets("Tabelle1").Cells(i, 2).Value, 2) <> _
Left(Worksheets("Tabelle1").Cells(i - 1, 2).Value, 2) Then
Worksheets("Tabelle1").Rows(i).EntireRow.Insert
Worksheets("Tabelle1").Range(Cells(i, 1), Cells(i, 29)).Interior.Color = _
RGB(190, 190, 190)
End If
Next i
End Sub
Nachdem Du keine weiteren Angaben geliefert hast, musst Du den Code für Deine Tabelle vermutlich noch etwas anpassen --> "Tabelle1" musst Du mit Deinem Tabellenblatt-Namen ersetzen; außerdem gehe ich davon aus, dass Du ab B1 gleich die Daten stehen hast, ohne Überschrift. Hast Du in Zeile 1 noch eine Überschrift, müsstest Du [For i = zEnde To 2 Step -1] auf [For i = zEnde To 3 Step -1] tauschen.
Private Sub CommandButton3_Click() ' Zeilen einfügen
Dim i As Long
Dim zEnde As Long
zEnde = Worksheets("DATENBANK").Range("B1").End(xlDown).Row
For i = zEnde To 3 Step -1
If Left(Worksheets("DATENBANK").Cells(i, 2).Value, 2) <> _
Left(Worksheets("DATENBANK").Cells(i - 1, 2).Value, 2) Then
Worksheets("DATENBANK").Rows(i).EntireRow.Insert
Worksheets("DATENBANK").Range(Cells(i, 1), Cells(i, 29)).Interior.Color = _
RGB(150, 150, 150)
End If
Next i
End Sub
Danke für eure Hilfe
Private Sub CommandButton3_Click() ' Zeilen einfügen
Dim i As Long
Dim zEnde As Long
Dim zeile_leer As Boolean
zEnde = Worksheets("DATENBANK").Range("B" & Rows.Count).End(xlUp).Row
For i = zEnde To 3 Step -1
zeile_leer = Worksheets("DATENBANK").Cells(i, 2).Value = ""
If zeile_leer Then
Worksheets("DATENBANK").Range(Cells(i, 1), Cells(i, 29)).Interior.Color = _
RGB(150, 150, 150)
i = i - 1 ' gleich eine Zeile weiter springen
Else
If Left(Worksheets("DATENBANK").Cells(i, 2).Value, 2) <> _
Left(Worksheets("DATENBANK").Cells(i - 1, 2).Value, 2) And _
Worksheets("DATENBANK").Cells(i - 1, 2).Value <> "" Then
Worksheets("DATENBANK").Rows(i).EntireRow.Insert
Worksheets("DATENBANK").Range(Cells(i, 1), Cells(i, 29)).Interior.Color = _
RGB(150, 150, 150)
End If
End If
Next i
End Sub
Dazu gibt es zu sagen:
Private Sub CommandButton3_Click() ' Zeilen einfügen
Dim i As Long
With Worksheets("DATENBANK")
For i = .Cells(.Rows.Count, 2).End(xlUp).Row To 3 Step -1
If Left(.Cells(i, 2).Value, 2) <> _
Left(.Cells(i - 1, 2).Value, 2) Then
If WorksheetFunction.CountBlank(.Rows(i)) = .Columns.Count Then
.Range(.Cells(i, 1), .Cells(i, 29)).Interior.Color = RGB(150, 150, 150)
Else
.Rows(i).EntireRow.Insert
End If
End If
Next i
End With
End Sub
Gruß Gerd
Sub Trennzeile()
Dim i As Long
Dim zEnde As Long
zEnde = Worksheets("Tabelle1").Range("B1").End(xlDown).Row
For i = zEnde To 2 Step -1
If Left(Worksheets("Tabelle1").Cells(i, 2).Value, 2) <> _
Left(Worksheets("Tabelle1").Cells(i - 1, 2).Value, 2) Then
Worksheets("Tabelle1").Rows(i).EntireRow.Insert
Worksheets("Tabelle1").Range(Cells(i, 1), Cells(i, 29)).Interior.Color = _
RGB(190, 190, 190)
End If
Next i
End Sub
Nachdem Du keine weiteren Angaben geliefert hast, musst Du den Code für Deine Tabelle vermutlich noch etwas anpassen --> "Tabelle1" musst Du mit Deinem Tabellenblatt-Namen ersetzen; außerdem gehe ich davon aus, dass Du ab B1 gleich die Daten stehen hast, ohne Überschrift. Hast Du in Zeile 1 noch eine Überschrift, müsstest Du [For i = zEnde To 2 Step -1] auf [For i = zEnde To 3 Step -1] tauschen.
Private Sub CommandButton3_Click() ' Zeilen einfügen
Dim i As Long
Dim zEnde As Long
zEnde = Worksheets("DATENBANK").Range("B1").End(xlDown).Row
For i = zEnde To 3 Step -1
If Left(Worksheets("DATENBANK").Cells(i, 2).Value, 2) <> _
Left(Worksheets("DATENBANK").Cells(i - 1, 2).Value, 2) Then
Worksheets("DATENBANK").Rows(i).EntireRow.Insert
Worksheets("DATENBANK").Range(Cells(i, 1), Cells(i, 29)).Interior.Color = _
RGB(150, 150, 150)
End If
Next i
End Sub
Danke für eure Hilfe
Private Sub CommandButton3_Click() ' Zeilen einfügen
Dim i As Long
Dim zEnde As Long
Dim zeile_leer As Boolean
zEnde = Worksheets("DATENBANK").Range("B" & Rows.Count).End(xlUp).Row
For i = zEnde To 3 Step -1
zeile_leer = Worksheets("DATENBANK").Cells(i, 2).Value = ""
If zeile_leer Then
Worksheets("DATENBANK").Range(Cells(i, 1), Cells(i, 29)).Interior.Color = _
RGB(150, 150, 150)
i = i - 1 ' gleich eine Zeile weiter springen
Else
If Left(Worksheets("DATENBANK").Cells(i, 2).Value, 2) <> _
Left(Worksheets("DATENBANK").Cells(i - 1, 2).Value, 2) And _
Worksheets("DATENBANK").Cells(i - 1, 2).Value <> "" Then
Worksheets("DATENBANK").Rows(i).EntireRow.Insert
Worksheets("DATENBANK").Range(Cells(i, 1), Cells(i, 29)).Interior.Color = _
RGB(150, 150, 150)
End If
End If
Next i
End Sub
Dazu gibt es zu sagen:
Private Sub CommandButton3_Click() ' Zeilen einfügen
Dim i As Long
With Worksheets("DATENBANK")
For i = .Cells(.Rows.Count, 2).End(xlUp).Row To 3 Step -1
If Left(.Cells(i, 2).Value, 2) <> _
Left(.Cells(i - 1, 2).Value, 2) Then
If WorksheetFunction.CountBlank(.Rows(i)) = .Columns.Count Then
.Range(.Cells(i, 1), .Cells(i, 29)).Interior.Color = RGB(150, 150, 150)
Else
.Rows(i).EntireRow.Insert
End If
End If
Next i
End With
End Sub
Gruß Gerd