Leerzeile ab dem 2. Wort

Bild

Betrifft: Leerzeile ab dem 2. Wort
von: SK
Geschrieben am: 04.11.2015 13:33:16

Hallo liebes Forum,
ich brauche eine kleine Modifizierung meines Makros. Dieser untersucht die Spalte G und sucht nach dem Wort "Center" wenn er das Wort findet dann setzt er eine leere Zeile oberhalb ein, sodass es dann für eine gute Übersicht getrennt ist. Jetzt ist es so, dass beim Import der Daten die erste Zeile in der Spalte G bereits das Wort "Center" beinhaltet und demzufolge eine Zeile oberhalb einfügt, was dazu führt, dass die Formatierung verschoben wird und ich keinen Rahmen in den Zeilen 50/51 84/85 usw. habe. Jetzt soll das Makro anfangen erst ab dem zweiten "Center" eine neue Zelle oberhalb einfügen. Kann mir das bitte jemand weiterhelfen?
Vielen Dank schon einmal für die Mühe
Grüße
SK
Dim Zelle As Range
With Worksheets("Reporting").Range("G:G")
Set Zelle = .Find("Center", LookIn:=xlValues)
If Not Zelle Is Nothing Then
s = Zelle.Row
Do
Zelle.Offset(0, 0).EntireRow.Insert
Set Zelle = .FindNext(Zelle)
Loop While Zelle.Address <> Cells(s + 1, 7).Address
End If
End With

Bild

Betrifft: AW: Leerzeile ab dem 2. Wort
von: Jürgen
Geschrieben am: 04.11.2015 13:54:12
Hallo SK,
setze vor deinen DoLoop doch einfach noch die Zeilen

set Zelle= .findnext(Zelle)
if s = Zelle.row then          'Damit wird geprüft, ob "Center" 2x vorkommt.
Exit Sub             
end if
Gruß
Jürgen

Bild

Betrifft: AW: Leerzeile ab dem 2. Wort
von: Jürgen
Geschrieben am: 04.11.2015 14:03:19
Ich hab noch was vergessen! ;-)
Dein Loop while sollte dann mit


Loop while not Zelle.row = s
enden, da du ja die S-Zeile nicht mehr verschiebst.
Gruß
Jürgen

Bild

Betrifft: AW: Leerzeile ab dem 2. Wort
von: SK
Geschrieben am: 04.11.2015 14:07:33
Hallo Jürgen,
vielen Dank für die schnelle Antwort. Das Wort "Center" kommt mehrfach (1-700) vor. Beginnend in der ersten Zeile der Spalte G. Das Makro soll ab dem zweiten Wort Center anfangen leere Zeilen einzufügen, statt mit der ersten. Denn derzeit macht er oberhalb der ersten Zeile eine leere Zeile und dadurch verschiebt es die ganze Formatierung :/
Als Beispiel:
Zeile 1 Center
Zeile 2
Zeile 3
Zeile 4
Zeile 5 Center
Zeile 6
Zeile 7
Zeile 8
Zeile 9
Zeile 10 Center
.
.
.
.
.
.
Danke und Grüße

Bild

Betrifft: AW: Leerzeile ab dem 2. Wort
von: Jürgen
Geschrieben am: 04.11.2015 14:48:34
Hallo SK,
also noch einmal im Ganzen!

Sub test()
Dim Zelle As Range
Dim s As Long
    With ActiveSheet.Range("G:G")
        Set Zelle = .Find("1", LookIn:=xlValues)
        If Not Zelle Is Nothing Then
            s = Zelle.Row
            Set Zelle = .FindNext(Zelle)
            If s = Zelle.Row Then
               Exit Sub
            End If
            Do
                Zelle.Offset(0, 0).EntireRow.Insert
                Set Zelle = .FindNext(Zelle)
            Loop While Not Zelle.Row = s
        End If
    End With
End Sub

Jetzt wird das erste "Center" egal ob in Zeile 1,2,3,4,... nicht berücksichtigt.
Ab allen weiteren wird eine Leerzeile eingefügt.
Die Lösung von Rudi Maintaire arbeitet, so dass wenn "Center" in Zeile 2 steht eine Leerzeile eingefügt wird.
Gruß
Jürgen

Bild

Betrifft: AW: Leerzeile ab dem 2. Wort
von: Rudi Maintaire
Geschrieben am: 04.11.2015 14:00:11
Hallo,

Do
 If Zelle.Row>1 then Zelle.EntireRow.Insert
 Set Zelle = .FindNext(Zelle)
Loop While Zelle.Address <> Cells(s + 1, 7).Address
Gruß
Rudi

Bild

Betrifft: AW: Leerzeile ab dem 2. Wort
von: SK
Geschrieben am: 04.11.2015 14:50:11
Rudi, vielen Dank! Hat geklappt.
Grüße

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Leerzeile ab dem 2. Wort"