Leerzeilen einfügen

Hallo,
ich möchte wegen der Übersichtlichkeit bei folgender Tabelle jedesmal eine Leerzeile einfügen, bevor die Zelle ‚Qty‘ wieder einen Wert enthält. Also bei folgendem Beispiel zwischen Zeile 4&5, 5&6 und 7&8:

1 Nr Name Qty
2 2837 ESA 9
3 2838
4 5863
5 6768 EXA 14
6 2820 EXG 12
7 2823
8 2837 EXG 9

Wäre toll wenn sowas über ein Makro mögliche wäre.

danke schon mal,
gruß
frank

Hi Frank,

Sub tt()
Dim Zei As Long
For Zei = Cells(Rows.Count, 1).End(xlUp).Row To 3 Step -1
 If Cells(Zei, 3) "" Then Cells(Zei, 3).EntireRow.Insert
Next Zei
End Sub

Gruß
Reinhard

Wow, Super! funktioniert, vielen Dank!
ist es auch möglich zusätzlich zu der leerzeile eine weitere zeile eizufügen,
zb die erste zeile der tablle mit der ‚überschrift‘?
danke nochmal!

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Wow, Super! funktioniert, vielen Dank!
ist es auch möglich zusätzlich zu der leerzeile eine weitere
zeile eizufügen,
zb die erste zeile der tablle mit der ‚überschrift‘?

Hallo Frank,

das geht wahrscheinlich, ich weiß grad nicht genau genug was du möchtest.

Zeige mal wie denn die nachfolgende Tabelle nach einem Makro aussehen soll.
Benutze bitte beim Zeigen zumindest den pre-Tag, der wird unterhalb des Eingabefensters erklärt.

Tabellenblatt: [Mappe1]!Tabelle1
 │ F │ G │ H │
───┼──────┼──────┼─────┤
19 │ Nr │ Name │ Qty │
───┼──────┼──────┼─────┤
20 │ 2837 │ ESA │ 9 │
───┼──────┼──────┼─────┤
21 │ 2838 │ │ │
───┼──────┼──────┼─────┤
22 │ 5863 │ │ │
───┼──────┼──────┼─────┤
23 │ 6768 │ EXA │ 14 │
───┼──────┼──────┼─────┤
24 │ 2820 │ EXG │ 12 │
───┼──────┼──────┼─────┤
25 │ 2823 │ │ │
───┼──────┼──────┼─────┤
26 │ 2837 │ EXG │ 9 │
───┴──────┴──────┴─────┘
F19:H26
haben das Zahlenformat: Standard

Tabellendarstellung erreicht mit dem Code in FAQ:2363

Gruß
Reinhard

Zeige mal wie denn die nachfolgende Tabelle nach einem Makro
aussehen soll.

Tabellenblatt: [Mappe1]!Tabelle1
│ F │ G │ H │
───┼──────┼──────┼─────┤
19 │ Nr │ Name │ Qty │
───┼──────┼──────┼─────┤
20 │ 2837 │ ESA │ 9 │
───┼──────┼──────┼─────┤
21 │ 2838 │ │ │
───┼──────┼──────┼─────┤
22 │ 5863 │ │ │
───┼──────┼──────┼─────┤
23 │ 6768 │ EXA │ 14 │
───┼──────┼──────┼─────┤
24 │ 2820 │ EXG │ 12 │
───┼──────┼──────┼─────┤
25 │ 2823 │ │ │
───┼──────┼──────┼─────┤
26 │ 2837 │ EXG │ 9 │
───┴──────┴──────┴─────┘
F19:H26
haben das Zahlenformat: Standard

Tabellendarstellung erreicht mit dem Code in FAQ:2363

Gruß
Reinhard

Hallo Reinhard,

die Tabelle soll am Ende wie folgt Aussehen:

Tabellenblatt: [Mappe1]!Tabelle1
 │ F │ G │ H │
───┼──────┼──────┼─────┤
19 │ Nr │ Name │ Qty │
───┼──────┼──────┼─────┤
20 │ 2837 │ ESA │ 9 │
───┼──────┼──────┼─────┤
21 │ 2838 │ │ │
───┼──────┼──────┼─────┤
22 │ 5863 │ │ │
───┼──────┼──────┼─────┤
23 │ │ │ │
───┼──────┼──────┼─────┤
24 │ Nr │ Name │ Qty │
───┼──────┼──────┼─────┤
25 │ 6768 │ EXA │ 14 │
───┼──────┼──────┼─────┤
26 │ │ │ │
───┼──────┼──────┼─────┤
27 │ Nr │ Name │ Qty │
───┼──────┼──────┼─────┤
28 │ 2820 │ EXG │ 12 │
───┼──────┼──────┼─────┤
29 │ 2823 │ │ │
───┼──────┼──────┼─────┤
30 │ │ │ │
───┼──────┼──────┼─────┤
31 │ Nr │ Name │ Qty │
───┼──────┼──────┼─────┤
32 │ 2837 │ EXG │ 9 │
───┴──────┴──────┴─────┘

d.h. nach der Leerzeile die schon eingefügt wurde soll noch ein Zeile rein, aber mit dem Inhalt der allerersten Zeile.

Gruß
Frank

zeichne doch eines mit relativem Zellenbezug auf und sorge dafür, dass vor dem Einfügen die Zelle über der einzufügenden Zeile und danach die Zelle unter der eingefügten zeile markiert ist. dazwischen auf die zeilen klicken und zeilen einfügen. das makro kannste dann beiliebig oft ausführen. Tipp: wenn du einen Shortcut dafür definierst, gehts schneller. sollte für einige wenige zeilen reichen. ansonsten definier danach im VBA-Editor eine schleife drumrum. fertig.

d.h. nach der Leerzeile die schon eingefügt wurde soll noch
ein Zeile rein, aber mit dem Inhalt der allerersten Zeile.

Hallo Frank,

Sub tt()
Dim Zei As Long
For Zei = Cells(Rows.Count, 1).End(xlUp).Row To 3 Step -1
 If Cells(Zei, 3) "" Then
 Range(Cells(Zei, 3), Cells(Zei + 1, 3)).EntireRow.Insert
 Range("A1:F1").Copy Destination:=Cells(Zei + 1, 1)
 End If
Next Zei
End Sub

Gruß
Reinhard

genau das habe ich gesucht, vielen Dank!
Frank