Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1608to1612
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Nach jedem Statuswechsel 4 Zeilen einfügen

Nach jedem Statuswechsel 4 Zeilen einfügen
28.02.2018 16:43:19
Jockel
Hallo,
ich habe eine Große Liste in Excel mit ca 10000 DS.
Wenn die Liste nach Spalte D sortiert wird, findet man in der Spalte D immer so 4-7 DS, die den gleichen Kenner haben. Danach kommt ein neuer Kenner.
Ich brauche nun nach jedem Bock, also wenn in der Spalte D ein neuer Kenner beginnt, 4 Leerzeilen.
Ich könnte das natürlich manuell machen.
Gibt es jemand, der da mit VBA eine Lösung hat
Danke
Jockel

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nach jedem Statuswechsel 4 Zeilen einfügen
28.02.2018 16:50:26
Hajo_Zi
Die meisten bauen Deine Datei nicht nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Die meisten möchten es am Original testen um den gleichen Fehler zu erhalten.

AW: Nach jedem Statuswechsel 4 Zeilen einfügen
28.02.2018 16:54:44
UweD
Hallo
so?
Sub Leer()
    Dim Tb, LR As Double, i As Double, Sp As Integer, Anz As Integer, Letzte As Double
    
    Set Tb = Sheets("Tabelle1")
    Sp = 4 'Spalte D 
    Anz = 4 'Leerzeilen 

    LR = Tb.Cells(Tb.Rows.Count, Sp).End(xlUp).Row 'letzte Zeile der Spalte 
    Letzte = LR
    For i = LR To 2 Step -1
        If Tb.Cells(i, Sp) <> Tb.Cells(i - 1, Sp) Then
            Tb.Rows(Letzte + 1).Resize(Anz).Insert xlDown
            Letzte = i - 1
        End If
    Next
End Sub


LG UweD
Anzeige
Vielen dank Uwe, geht perfekt owT
28.02.2018 17:03:26
Jockel
Prima! Danke für die Rückmeldung. owT
01.03.2018 08:44:48
UweD
AW: Nach jedem Statuswechsel 4 Zeilen einfügen
28.02.2018 17:11:41
Daniel
HI
das kann man auch manuell schnell und einfach lösen:
1. kopiere nach dem Sortieren die Kenner aus Spalte D in die erste freie Spalten am Tabellenende (z.B. Spalte X)
2. kopiere die Kenner nochmal in die nächste Spalte (Y)
3. wende auf die Spalte Y (und bitte nur auf die Spalte Y) die Funktion DATEN - DATENTOOLS - DUPLIKATE ENTFERNEN an
4. kopiere die übrig gebliebenen Werte der Spalte Y und füge sie nacheinander 4x unter die Spalte X ein.
Du kannst auch beim Einfügen den Bereich so selektieren, dass er 4x so groß ist wie der kopierte Bereich, dann werden die Daten entsprechen vervielfacht.
5. Sortiere die Liste nach Spalte X
6. lösche die Spalte X und Y wieder
geht natürlich auch als Makrocode, ich gehe mal davon aus, dass die Zeile 1 eine Überschriftenspalte ist:
Sub Zwischenzeilen_Einfügen()
Dim S1 As Long
Dim S2 As Long
S1 = ActiveSheet.UsedRange.Columns.Count + 1
S2 = S1 + 1
ActiveSheet.UsedRange.Sort key1:=Cells(1, 4), order1:=xlAscending, Header:=xlYes
Columns(4).Copy Columns(S1).Resize(, 2)
Columns(S2).RemoveDuplicates 1, xlYes
With Range(Cells(2, S2), Cells(1, S2).End(xlDown))
.Copy Cells(1, S1).End(xlDown).Offset(1, 0).Resize(.Rows.Count * 4)
End With
ActiveSheet.UsedRange.Sort key1:=Cells(1, S1), order1:=xlAscending, Header:=xlYes
Columns(S1).Resize(, 2).Clear
End Sub

Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige