Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Jede zweite Zeile einfügen

Jede zweite Zeile einfügen
09.06.2017 15:19:59
Ahmet
Hallo Leute,
ich habe folgendes Problem:
Ich will zwei Zeilen gleichzeitig kopieren und direkt unter einander einfügen.
Die Anzahl der Kopiervorgänge ist festgelegt in Zelle D85
Sprachlich:
Kopiere D11:R12
Füge ein bei D13:R14
Das Problem in meinem Fall ist, dass die Zellen D11 und D12 verbunden sind. Zelle E11 und E12 sollen ständig wiederholen
quasi:
E11 a
E12 b
E13 a
E14 b
alle anderen Zeilen enthalten eine Formel die einfach nach unten kopiert werden soll.
Folgenden Code habe ich schon geschrieben, allerdings scheitert es bei mir an dem Einfügebefehl:
Anzahl = Range("D85").Value - 1
For i = 1 To Anzahl
Range("D11:R12").Select
Selection.Copy
Range("D13").Select -- hier ist der Fehler
ActiveSheet.Paste
'Rows(Zeile).Copy Destination:=Rows(Zeile + i) -- das war ein anderer Versuch
Next i
mit freundlichen Grüßen
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Jede zweite Zeile einfügen
09.06.2017 16:51:47
ChrisL
Hi Ahmet
Ja, verbundene Zellen sind nervig.
Wie wärs wenn du die Verbindung kurz aufhebst, kopierst und wieder herstellst?
cu
Chris
AW: Jede zweite Zeile einfügen
10.06.2017 09:05:43
Matthias
Hallo
Zitat
Range("D13").Select ' -- hier ist der Fehler
Ich bekomme keinen Fehler bei der Zeile
Warum sollte auch da ein Fehler entstehen, wenn man eine Zelle markiert(Select)
Wenn ChrisL schreibt:
Ja, verbundene Zellen sind nervig.
betrifft das nur ihn persönlich und/oder gleich Denkende.
Ich gehöre nicht dazu
Das funktioniert auch mit Verbundzellen.
Warum aber bitte
Anzahl = Range("D85").Value - 1
Steht da eine Formel drin, oder warum schreibst Du nicht gleich den
richtigen Schleifenzähler rein?
Gruß Matthias
Anzeige
AW: Jede zweite Zeile einfügen
10.06.2017 10:36:39
Ahmet
Danke für eine Antworten.
@Matthias: Der Schleifenzähler ist so schon richtig eingestellt. Da ist kein Problem.
Das Problem mit "Range("D13").Select" ist, dass diese Funktion nicht mein Vorhaben macht.
@Chris: Die Zelle könnte ich schon lösen und wieder verbinden, allerdings ist dann immernoch das Problem mit den Zellen E11 und E12
Ich habe das mal mit dem Makrorecorder aufgenommen. Nur kriege ich es nicht hin die Schleife da einzubinden. Ich habe jetzt die kopierte Zeile zwei mal eingefügt. Das sollte aber in einer Schleife geschehen.
Ich füge mal eine Test-Datei an, damit wir uns das besser vorstellen können.
https://www.herber.de/bbs/user/114176.xlsx
Anzeige
bitte eine *.xlsm
10.06.2017 10:52:55
Matthias
Hallo Ahmet
Zitat
Der Schleifenzähler ist so schon richtig eingestellt.
Das bezweifel ich ja auch nicht, ich wollte nur wissen warum -1
Man sollte schon alle Fakten kennen, wenn man helfen will.
In einer xlsx-Datei werden keine Makros gespeichert!
Du müsstest dann schon eine xlsm-Datei hochladen
Gruß Matthias
Anzeige
AW: bitte eine *.xlsm
10.06.2017 12:14:47
Ahmet
Naja der Schleifenzähler ergibt sich rechnerisch so. Hat keinen tieferen Hintergrund.
Hab die Datei jetzt nochmal hochgeladen. Hoffentlich klapppt es jetzt.
https://www.herber.de/bbs/user/114177.xlsm
Danke für eure Bemühungen
Anzeige
AW: bitte eine *.xlsm
10.06.2017 13:25:04
Matthias
Hallo
Dim Anzahl&, MyRow&
MyRow = 8
For Anzahl = 1 To 4 '4x Ausführen (als Bsp.)
Range("E8:K9").Select
Selection.Copy
Range("E" & MyRow + 2).Select
ActiveSheet.Paste
MyRow = MyRow + 2
Next
Application.CutCopyMode = False
Gruß Matthias
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Jede zweite Zeile in Excel einfügen


Schritt-für-Schritt-Anleitung

Um in Excel jede zweite Zeile einzufügen, kannst du die folgende VBA-Makro-Lösung verwenden. Diese Methode eignet sich besonders gut, wenn du eine große Datenmenge hast und nicht manuell vorgehen möchtest.

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

  2. Klicke im Menü auf Einfügen und wähle Modul.

  3. Füge den folgenden Code in das Modul ein:

    Sub JedeZweiteZeileEinfuegen()
        Dim i As Long
        Dim Anzahl As Long
    
        Anzahl = ActiveSheet.UsedRange.Rows.Count ' Anzahl der Zeilen im aktiven Blatt
    
        For i = Anzahl To 1 Step -1 ' von unten nach oben
            Rows(i).Insert Shift:=xlDown ' Neue Zeile einfügen
        Next i
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Drücke ALT + F8, wähle JedeZweiteZeileEinfuegen und klicke auf Ausführen.

Dieser Code fügt für jede vorhandene Zeile eine neue Zeile ein, sodass du zwischen jeder bestehenden Zeile eine leere Zeile hast.


Häufige Fehler und Lösungen

  • Fehler: "Der Befehl kann nicht ausgeführt werden."

    • Lösung: Stelle sicher, dass das Arbeitsblatt nicht geschützt ist und keine Filter aktiv sind.
  • Problem mit verbundenen Zellen:

    • Verbundene Zellen können Probleme beim Einfügen von Zeilen verursachen. Du kannst die Verbindung vorübergehend aufheben, die Zeilen einfügen und sie anschließend wieder verbinden.

Alternative Methoden

Wenn du keine VBA-Makros verwenden möchtest, gibt es auch eine manuelle Methode:

  1. Markiere die gesamte Zeile, die du kopieren möchtest.
  2. Rechtsklicke und wähle Kopieren.
  3. Bewege den Cursor zu der Stelle, wo du die Zeilen einfügen möchtest.
  4. Rechtsklicke und wähle Einfügen. Um jede zweite Zeile einzufügen, musst du dies für jede Zeile wiederholen.

Eine weitere Möglichkeit ist die Verwendung von Formeln, um Daten in jede zweite Zeile zu ziehen. Zum Beispiel kannst du =A1 in A2 und dann die Formel nach unten ziehen.


Praktische Beispiele

  1. Excel nach jeder Zeile 2 Leerzeilen einfügen:

    • Mit dem oben genannten Makro kannst du die Anzahl der Leerzeilen anpassen. Ändere Rows(i).Insert Shift:=xlDown entsprechend.
  2. Excel jede zweite Spalte einfügen:

    • Du kannst eine ähnliche Logik in einer Schleife verwenden, um Spalten anstelle von Zeilen einzufügen.

Tipps für Profis

  • Nutze die Application.ScreenUpdating = False und Application.ScreenUpdating = True Anweisungen vor und nach deinem Makro, um die Aktualisierung des Bildschirms zu deaktivieren, während dein Code läuft. Dies beschleunigt die Ausführung.

  • Wenn du oft Excel jede zweite Zeile leerzeile einfügen musst, speichere das Makro in deiner Personal.xlsb-Datei, um es jederzeit verfügbar zu haben.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass nur jede zweite Zeile kopiert wird?
Du kannst eine Schleife erstellen, die nur jede zweite Zeile auswählt und kopiert.

2. Kann ich auch nach jeder zweiten Zeile mehrere Leerzeilen einfügen?
Ja, passe einfach die Schleife an, um die gewünschte Anzahl an Leerzeilen einzufügen, indem du in der Schleife eine Multiplikation verwendest.

3. Funktioniert diese Methode in Excel 365?
Ja, die beschriebenen Methoden sind in Excel 365 sowie in den meisten anderen Versionen von Excel anwendbar.

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