Makro Zeile einfügen Wenn...

Bild

Betrifft: Makro Zeile einfügen Wenn...
von: Peter
Geschrieben am: 30.09.2015 17:18:01

Hallo,
ich bräuchte ein Makro welches mir immer eine leere Zeile einfügt wenn sich eine sich immer wieder wiederholende Zahlenfolge ändert:
101
101
101
105
105
Nun soll zwischen 101 und 105 eine leere Spalte eingefügt werden.
Jemand eine Idee
Grüsse

Bild

Betrifft: AW: Makro Zeile einfügen Wenn...
von: Daniel
Geschrieben am: 30.09.2015 17:26:51
Hi
1. schreibe in eine Hilfspalte in der Zeile mit der ersten Zahl eine 1
2. schreibe in die nächste Zeile der Hilfsspalte folgende Formel (ich gehe von Zelle B2 aus) und ziehe sie bis ans Datenende: =B1+Wenn(A2=A1;0;1)
3. ziehe die Formel nach unten soweit wie daneben die Zahlen stehen.
4. kopiere die Formeln und füge sie an gleicher Stelle als Wert ein
5. kopiere die Hilfsspalte und füge sie am ende der Hilfsspalte nochmal ein.
6. wende auf den neu hinzugefügten Bereich der Hilfsspalte die Funktion DATEN - DATENTOOLS - DUPLIAKTE ENTFERNEN an
7. sortiere die ganze Tabelle incl. der erweiterten Hilfsspalte nach der Hilfsspalte
8. lösche die Hilfsspalte wieder
Gruß Daniel

Bild

Betrifft: AW: Makro Zeile einfügen Wenn...
von: Daniel
Geschrieben am: 30.09.2015 17:35:52
ok du wolltest ein Makro, geht natürlich auch , man kann die genannten Schritte auch als Makro ausführen:

Sub test()
With ActiveSheet.UsedRange
    With .Columns(.Columns.Count + 1)
        .Cells(1, 1).Value = 1
        .Offset(1, 0).Resize(.Rows.Count - 1).FormulaR1C1 = "=R[-1]C+IF(RC1=R[-1]C1,0,1)"
        .Formula = .Value
        .Offset(.Rows.Count).Value = .Value
        .Offset(.Rows.Count).RemoveDuplicates 1, xlNo
        .CurrentRegion.EntireRow.Sort key1:=.Cells(1, 1), order1:=xlAscending, Header:=xlNo
        .EntireColumn.ClearContents
    End With
End With
End Sub
Gruß Daniel

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Makro Zeile einfügen Wenn..."