Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 2 Leerzeilen einfügen in Tabelle mit VBA

2 Leerzeilen einfügen in Tabelle mit VBA
02.07.2007 09:46:53
R.
Guten Morgen,
ich lese schon seit vielen Wochen hier im Forum mit und habe trotz 15 Jahre Excel Anwenndungspraxis viele nützliche Dinge schon in dieser kurzen Zeit in meine alltägliche Arbeitspraxis übernommen.
Vor VBA habe ich mich immer gedrückt und komme mit Autofilter;Pivot & CO auch (fast) immer zum Ziel.
Nun aber habe ich ein Projekt in welchem VBA wohl unerlässlich wird.
Nun meine Frage:
Ich habe aus einem Datev Export ein CSV file mit immer unterschiedlicher Länge ( ca 1000 - 15000)
Nun müsste ich ( Mit Ausnahme der Überschrift ( 1. Zeile) nach jeder Zeile 2 Leerzeilen einfügen.
da ich oft dieses File entsprechend bearbeiten muss, wäre eine VBA Lösung super, denn meine bisherige Lösung ist recht zeitintensiv ( Autoausfüllen schritt 3 darunter noch 2x um eine Zahl versetzt dann sortieren )
Aufgabe wäre Excel File Zeile 2 dann 2 Leerzeilen einfügen sprung zu zeile 4 dann ( vorm ausfüllen war das Zeile 2 ... usw. bis zum letzen Zeileneintrag.
Übrigens sollte diese Operation erst ab der 2 ten Zeile beginnen.
Sicher ist das eien einfache VBA Geschichte, aber wie ich schon sagte ... Beginne erst mit VBA und die Zeit drängt.
Vielen Dank im vorraus
PS zum Sinn des ganzen soviel... muss mit den Daten einen Datensatz für SAP FI Import generieren, aber davor mus snoch eine Mnege selektiert und gemapt werden aber dank SVerweis&Autofilter&CO keine wirkliches Problem sondern nur ein Haufen arbeit ;-)

Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 2 Leerzeilen einfügen in Tabelle mit VBA
02.07.2007 10:04:00
R.
Habe Lösung schon im Archiv Thread gefunden... ;-)
Srry... für meine Anfrage, war doch zu trivial und hätte es auch so leicht finden können.
Die Lösung im Archiv kopiert in Tabelle 2 mit Leerzeilen dazwischen.
Dank der genialen Suchfunktion hier bin ich sofort fündig geworden. In Zukunft werde ich erst selbst suchen und nur noch in wichtigen Fällen Forum um Hilfe fragen .
Danke für das Verständnis ..
bin halt noch ein Newbie hier

Anzeige
AW: 2 Leerzeilen einfügen in Tabelle mit VBA
02.07.2007 10:10:38
Hajo_Zi
Hallo R.,
Es wäre schon schön gewesen hättest Du den Link zu Lösung gepostet, dann braucht der nächste der das Problem hat nicht so lange suchen.
Ohne kopieren in eine andere Tabelle.

Option Explicit
Sub R()
Dim LoLetzte As Long
Dim Loi As Long
'   letzte belegte Zeile unabhängig von Excelversion für Spalte A (1)
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows. _
Count)
Application.ScreenUpdating = False
For Loi = LoLetzte To 3 Step -1
If Loi Mod 2  0 Then Rows(Loi & ":" & Loi + 1).Insert Shift:=xlDown, CopyOrigin:= _
xlFormatFromLeftOrAbove
Next Loi
Application.ScreenUpdating = True
End Sub



Anzeige
AW: 2 Leerzeilen einfügen in Tabelle mit VBA
02.07.2007 10:15:08
R.
Super ,
vielen dank Hajo,
werde das in Zukunft machen.
Ich mein erstes Posting hier gewesen und werde mich nur an euch wenden, wenn ich trotz intensiver Suche nicht weiterkomme.
hier als nachtrag der link zu meiner gefunden Lösung aus dem Archiv ....
https://www.herber.de/mailing/103600h.htm

Anzeige
da ich eh schon am schreiben war ... ;-)
02.07.2007 10:18:10
Matthias
Hallo
Da ich mir eh schon die Arbeit gemacht habe, stell ich die Datei trotzdem rein. Vielleicht braucht es ja mal jemand.
Option Explicit

Sub NeueZeilen()
Dim X As Long
Application.ScreenUpdating = False
For X = 3 To 90 'anpassen (to => letzte belegt Zeile x 3)
Rows(X).Select
Selection.Insert Shift:=xlDown
Selection.Insert Shift:=xlDown
X = X + 2
Next
Cells(2, 1).Select
Application.ScreenUpdating = True
End Sub


https://www.herber.de/bbs/user/43745.xls
Gruß Matthias

Anzeige
AW: 2 Leerzeilen einfügen in Tabelle mit VBA
02.07.2007 10:19:00
Renee
Mazwara R. Lücher
so:

Sub Leerzeilen2()
Dim dRowCnt As Double
Application.ScreenUpdating = False
For dRowCnt = ActiveSheet.Range("A" & _
ActiveSheet.Rows.Count).End(xlUp).Row To 3 Step -1
ActiveSheet.Range(dRowCnt & ":" & dRowCnt).Insert Shift:=xlDown
ActiveSheet.Range(dRowCnt & ":" & dRowCnt).Insert Shift:=xlDown
Next dRowCnt
Application.ScreenUpdating = True
End Sub


Greetz Renee

Anzeige
AW: 2 Leerzeilen einfügen in Tabelle mit VBA
02.07.2007 10:25:03
Rudi
Hallo,
und noch eine Lösung:

Sub tt()
Dim i As Long
Application.ScreenUpdating = False
For i = Cells(Rows.Count, 1).End(xlUp).Row To 3 Step -1
Range(Cells(i, 1), Cells(i + 1, 1)).EntireRow.Insert
Next i
Application.ScreenUpdating = True
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: 2 Leerzeilen einfügen in Tabelle mit VBA
02.07.2007 10:29:08
R.
Hui ,
vielen dank an alle und ich freu mich schon fast euer gemeinsames " know how" bald mal mit was wirklich ( für mich zumindest) komplizierten in Anspruch nehmen zu können.
Rudi .. das waren wenig Kühe und demzufolge wenig " Mühe" ;-)
Danke nochmals und ich werde mich auch um Antworten bemühen was nicht VBA mässig hier als Problemchen ab und an auftaucht.
Wiegesagt Pivot & Co war bisher meine Welt, aber ich beginne VBA zu mögen und beginne bereits dank der vielen Lösungsansätze ein wenig " zu verstehen"

Anzeige
AW: 2 Leerzeilen einfügen in Tabelle mit VBA
02.07.2007 10:29:00
R.
Hui ,
vielen dank an alle und ich freu mich schon fast euer gemeinsames " know how" bald mal mit was wirklich ( für mich zumindest) komplizierten in Anspruch nehmen zu können.
Rudi .. das waren wenig Kühe und demzufolge wenig " Mühe" ;-)
Danke nochmals und ich werde mich auch um Antworten bemühen was nicht VBA mässig hier als Problemchen ab und an auftaucht.
Wiegesagt Pivot & Co war bisher meine Welt, aber ich beginne VBA zu mögen und beginne bereits dank der vielen Lösungsansätze ein wenig " zu verstehen"

Anzeige
AW: 2 Leerzeilen einfügen in Tabelle mit VBA
02.07.2007 10:32:00
Hajo_Zi
Hallo Rudi,
das war nicht ganz die Aufgabe würde ich schreiben.
"Nun müsste ich ( Mit Ausnahme der Überschrift ( 1. Zeile) nach jeder Zeile 2 Leerzeilen einfügen."
oder habe ich das falsch interpretiert?
Gruß Hajo

Anzeige
AW: 2 Leerzeilen einfügen in Tabelle mit VBA
02.07.2007 11:10:00
Rudi
Hallo,
genau das passiert.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: 2 Leerzeilen einfügen in Tabelle mit VBA
02.07.2007 11:56:18
Hajo_Zi
Hallo Rudi,
ich testeeigentlich Code bevor ich da was zu schreibe. Bei Dir wird nach jeder Zeile 2 Leerzeilen eingefügt. Ich hätte es so verstanden das nach 2 Zeilen eine Leerzeile eingefügt werden soll.
"Nun müsste ich ( Mit Ausnahme der Überschrift ( 1. Zeile) nach jeder Zeile 2 Leerzeilen einfügen."
Aber das ist dann wohl interpretionsfreiheit.
Gruß Hajo

Anzeige
AW: 2 Leerzeilen einfügen in Tabelle mit VBA
02.07.2007 14:59:40
Rudi
Hallo,
so geht's schneller:

Sub tt()
Dim vntTmp, vntDaten()
Dim lngR As Long, intC As Integer, lngN As Long
Application.ScreenUpdating = False
vntTmp = Range("A1").CurrentRegion
lngN = 2
ReDim vntDaten(1 To (UBound(vntTmp, 1) - 1) * 3 + 1, 1 To UBound(vntTmp, 2))
For intC = 1 To UBound(vntTmp, 2)
vntDaten(1, intC) = vntTmp(1, intC)
Next
For lngR = 2 To UBound(vntTmp, 1)
For intC = 1 To UBound(vntTmp, 2)
vntDaten(lngN, intC) = vntTmp(lngR, intC)
Next
lngN = lngN + 3
Next
Range(Cells(1, 1), Cells(UBound(vntDaten, 1), UBound(vntDaten, 2))) = vntDaten
Application.ScreenUpdating = True
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

2 Leerzeilen in Excel-Tabelle mit VBA einfügen


Schritt-für-Schritt-Anleitung

Um in einer Excel-Tabelle nach jeder Zeile zwei Leerzeilen einzufügen, kannst Du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Kopiere und füge den folgenden Code in das Modul ein:

    Option Explicit
    Sub LeerzeilenEinfügen()
       Dim LoLetzte As Long
       Dim Loi As Long
    
       ' Letzte belegte Zeile in Spalte A
       LoLetzte = Cells(Rows.Count, 1).End(xlUp).Row
       Application.ScreenUpdating = False
    
       For Loi = LoLetzte To 2 Step -1
           Rows(Loi & ":" & Loi + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
       Next Loi
    
       Application.ScreenUpdating = True
    End Sub
  4. Schließe den VBA-Editor und kehre zurück zu Excel.

  5. Führe das Makro aus, indem Du ALT + F8 drückst, das Makro LeerzeilenEinfügen auswählst und auf Ausführen klickst.

Jetzt werden in Deiner Tabelle nach jeder Zeile zwei Leerzeilen eingefügt.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004"
    Dieser Fehler kann auftreten, wenn Du versuchst, Leerzeilen in einem geschützten Blatt einzufügen. Stelle sicher, dass das Arbeitsblatt nicht geschützt ist.

  • Fehler: "Index außerhalb des Bereichs"
    Dies passiert, wenn die Tabelle weniger als zwei Zeilen hat. Stelle sicher, dass Du mindestens zwei Zeilen in Deiner Excel-Tabelle hast.


Alternative Methoden

Wenn Du keine VBA-Lösung nutzen möchtest, gibt es auch manuelle Methoden, um mehrere leere Zeilen in Excel einzufügen:

  1. Manuelles Einfügen: Wähle die Zeile unter der ersten Zeile aus, rechtsklicke und wähle Zeilen einfügen. Wiederhole diesen Schritt für jede Zeile.
  2. Verwendung von Formeln: Du kannst auch eine neue Tabelle erstellen und eine Formel verwenden, um die Daten zu duplizieren und dann Leerzeilen einzufügen.

Praktische Beispiele

Hier ist ein einfaches Beispiel, um das Einfügen von Leerzeilen zu veranschaulichen:

Angenommen, Du hast folgende Daten in Deiner Tabelle:

A
Name
Max
Moritz
Lisa

Nach dem Ausführen des Makros siehst Du:

A
Name
Max
Moritz
Lisa

Jetzt hast Du erfolgreich zwei Leerzeilen nach jeder Zeile eingefügt.


Tipps für Profis

  • Nutze die Application.ScreenUpdating-Eigenschaft, um die Bildschirmaktualisierung während des Einfügens von Leerzeilen zu deaktivieren. Dies beschleunigt den Prozess erheblich.
  • Wenn Du regelmäßig mehrere leere Zeilen einfügen musst, speichere das VBA-Skript in Deiner persönlichen Makroarbeitsmappe, um es leicht wiederverwendbar zu machen.
  • Experimentiere mit der Anzahl der Leerzeilen, die Du einfügen möchtest, indem Du die Schleife im VBA-Code anpasst.

FAQ: Häufige Fragen

1. Wie kann ich die Anzahl der einzufügenden Leerzeilen ändern?
Du kannst die Zeile im VBA-Code anpassen, wo der Rows-Befehl verwendet wird. Ersetze Loi + 1 durch Loi + n, wobei n die gewünschte Anzahl an Leerzeilen ist.

2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der VBA-Code ist kompatibel mit den meisten Excel-Versionen, die VBA unterstützen, einschließlich Excel 2010 und neuer.

3. Kann ich das Makro auch in einer geschützten Datei verwenden?
Nein, Du musst die Datei zuerst entsperren, um das Makro ausführen zu können. Schütze die Datei nach dem Ausführen des Makros erneut.

4. Gibt es eine Möglichkeit, das Einfügen von Leerzeilen rückgängig zu machen?
Ja, Du kannst die Rückgängig-Funktion in Excel verwenden (STRG + Z), um die letzten Änderungen rückgängig zu machen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige