Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1928to1932
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

Jede 2.Zeile eine Zeile einfügen

Jede 2.Zeile eine Zeile einfügen
13.05.2023 10:56:08
Eugen Hardegger

Guten Tag
Ich müsste in unserer Excel Tabelle (ca. 180 Zeilen) nach jeder Zeile ein leere Zeile einfügen. Ich habe dazu von Daniel in dieser Webseite ein Makro gefunden. Dieses sollte über Sortieren ausgeführt werden. Ich kann den Text des Makros in ein Word kopieren, aber was mach ich damit? Ich kann den Text auch in freie Zeilen in Excel kopieren.

Vielleicht kann mir jemand helfen?
Herzlichen Dank
Eugen Hardegger
Animal Life Schweiz

Das Makro:
Sub ZeilenEinfügen()
Dim Abstand As Long
Dim KopfZeilen As Long
Dim Zeilen As Long
KopfZeilen = 6
Abstand = 2
Zeilen = Cells(Rows.Count, 1).End(xlUp).Row
Columns(1).Insert
Cells(1, 1).Resize(Zeilen).Formula = "=Row()"
Cells(Zeilen + 1, 1).Resize(Zeilen / Abstand).Formula = _
"=(Row()-" & Zeilen & ")*" & Abstand & "+" & KopfZeilen
Columns(1).Formula = Columns(1).Value
Cells(1, 1).CurrentRegion.Sort key1:=Cells(1, 1), order1:=xlAscending, header:=xlNo
Columns(1).Delete
End Sub



9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Jede 2.Zeile eine Zeile einfügen
13.05.2023 11:33:57
Jowe
Hallo Eugen,

ich würde das so machen:

Option Explicit

Sub ZeilenEinfügen()
  Dim ze
  For ze = Cells(Rows.Count, 1).End(xlUp).Row To 7 Step -1
    Rows(ze).Insert
  Next
End Sub
in Deiner Arbeitsmappe gehst Du so vor:
-In Tabelle1 Tastenkombi Alt+F11 -darauf öffnet sich die VBA-Umgebung
-in der VBA-Umgebung klicke auf das Menü "Einfügen"
-dann auf "Modul" -es öffnet sich ein neues leeres Modul
-in die große weiße Fläche rechts fügst Du nun das kopierte Makro ab Sub xxx() bis end Sub einschließlich ein (mit Strg+V)
Jetzt startest Du das Makro über die entsprechende Taste im Menü (Dreieck nach rechts zeigend) oder
setzt den Cursor in den Makrocodetext irgendwo zwischen Sub und End Sub und drückst F5

Gruß
Jochen


Anzeige
AW: Jede 2.Zeile eine Zeile einfügen
13.05.2023 12:08:32
Daniel
Das kann man so machen bei wenigen Zeilen.
Es ist allerdings ziemlich langsam.
Vergleiche mal die Laufzeiten der beiden Maktos, wenn die Liste 100.000 Zeilen hat.
Ich vermute mal, dass die Methode des ersten Makros sogar dann schneller ist als dein Makro, wenn man sie sie manuell verwendet (dh. kein Makro, Anwender führt die Schritte selbst aus).
Gruß Daniel


AW: Jede 2.Zeile eine Zeile einfügen
13.05.2023 12:35:36
JoWE
Da hast Du wohl recht. A
llerdings beim Level des Fragestellers glaube ich das es
für ihn einfacher und noch dazu leichter verständlich ist.


Anzeige
AW: Jede 2.Zeile eine Zeile einfügen
13.05.2023 13:25:23
Eugen Hardegger
Besten Dank! Lösung von Jowe hat super funktioniert.
Ich bin nun etwas unverschämt: ist es möglich bei der eingefügten Zeile auch noch einen Text mitzugeben? z.B. Spalte1 "Meier" Spalte 2 "Peter" etc.
Für alle eingefügten ist immer der gleiche Text. Ich brauche das zum generieren von QR-Code mit 2 Eizahlungsscheinen einen oben und einen unten.
Im oberen EZ ist der Original Satz im unteren der eingefügte, zum Beispiel ohne Adresse und Betrag.
vielleicht gibt es eine Lösung?

besten Dank
Eugen Hardegger


AW: Jede 2.Zeile eine Zeile einfügen
13.05.2023 14:16:17
Jowe
Option Explicit

Sub ZeilenEinfügen()
  Dim ze
  For ze = Cells(Rows.Count, 1).End(xlUp).Row To 7 Step -1
    Rows(ze).Insert
    Cells(ze, 1) = "Meier"
    Cells(ze, 2) = "Peter"
  Next
End Sub


Anzeige
Jetzt ist aber Wochenende :=) Gruß an Alle
13.05.2023 14:28:44
JoWE


Wenn Spalte A1 eindeutig und danach sortiert:
13.05.2023 12:47:25
lupo1
Sub Makro1()
    [A1].CurrentRegion.Columns(1).Copy [A1].End(xlDown).Offset(1)
    Application.CutCopyMode = False
    With Worksheets("Tabelle1").Sort
        .SortFields.Clear
        .SortFields.Add2 Key:=Range("A1")
        .SetRange Range("A1").CurrentRegion
        .Header = xlNo
        .Apply
    End With
End Sub


AW: Jede 2.Zeile eine Zeile einfügen
13.05.2023 13:12:15
GerdL
Hallo,

noch ein Spielzeug.

Sub Makro4()

    Dim Rng As Range, zeile As Long

    Set Rng = Range("A3")
    For zeile = 5 To Cells(Rows.Count, 1).End(xlUp).Row Step 2
       Set Rng = Union(Rng, Cells(zeile, 1))
    Next
    
    Rng.EntireRow.Insert shift:=xlDown
    Rng.EntireRow.Offset(1).Insert shift:=xlDown
    Set Rng = Nothing

End Sub
Gruß Gerd

Anzeige

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige