Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeilen Kopieren und einfügen mit Vorgabe Anzahl

Zeilen Kopieren und einfügen mit Vorgabe Anzahl
16.07.2018 11:04:27
Andre
Hallo!
Ich habe eine Tabelle. Ein Messwert nutzt eine Zeile (Pos, Name, Wert, Tol. etc...)
Zeile 15-40 ist so formatiert. Nun hatte ich ein Makro, was mir pauschal 200 Zeilen einfügt.
Diese Zeilen sind nicht formatiert. Also bringt mir dies nichts. Mein Makro kopiert mir dann die Werte hinein und die "neuen" Zeilen sind nicht formatiert und habe keine Formel.
Code:
ActiveSheet.Range("A39").Select
Do
ActiveCell.EntireRow.Insert
ActiveCell.Offset(1, 0).Select
Loop Until ActiveCell.Row >= 250
Ich benötige eine variable Anzahl X Zeilen genau so wie die von 15-40. Jede Zeile ist gleich.
Ich habe in einem anderen Tabellenblatt einen Zähler =Teilergebniss, wo ich die Anzahl der gefilterten Werte habe. Also z.B. 15 oder 20 oder 50. Je nach dem wie viele Messwerte ich eintrage.
Das Blatt heißt "Roh Mitu" und ist in Zelle A3.
Nun benötige ich ein VBA Befehl, der mir in meiner Auswertung z.B. die Zeile 37 kopiert und X-mal (Der Wert aus dem Zähler) einfügt, z.B. an der Zeile 38 soll die kopierte Zeile 25x eingefügt werden.
Danach kopiert mein Makro die Werte hinein. Das Ende des Makro sagt dann, alle leeren Zeilen Gruppieren. Somit habe ich keine leeren Zeilen und das Ende des Protokoll ist immer direkt am letzten Messwert.
Kann mir jemand bitte helfen! Danke
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen Kopieren und einfügen mit Vorgabe Anzahl
16.07.2018 11:26:57
Andre
Hallo,
habe nun dies:
Dim lngAnzahl As Long
lngAnzahl = Sheets("BE Mitu").Range("A3").Value
Rows(37).Copy
Range(Rows(38), Rows(38 + lngAnzahl - 1)).Insert
Dies geht soweit!
Nun kann es aber passieren, das in der Zelle wo ich den Wert hole eine Minus Zahl steht (z.B: -2 etc.). Kann ich das kopieren auch überspringen, wenn der Wert kleiner 1 ist?
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Zeilen Kopieren und Einfügen mit Vorgabe Anzahl


Schritt-für-Schritt-Anleitung

  1. Vorbereitung der Tabelle: Stelle sicher, dass deine Daten korrekt formatiert sind und die Zeilen, die du kopieren möchtest, in einem bestimmten Bereich liegen, z.B. Zeilen 15 bis 40.

  2. Zähler festlegen: Lege in einer Zelle (z.B. A3) die Anzahl der Zeilen fest, die du einfügen möchtest. Diese Zahl sollte immer größer als 0 sein.

  3. VBA-Code einfügen: Öffne den VBA-Editor (Alt + F11) und füge den folgenden Code in ein neues Modul ein:

    Sub ZeilenKopierenUndEinfuegen()
       Dim lngAnzahl As Long
       lngAnzahl = Sheets("BE Mitu").Range("A3").Value
    
       ' Überprüfen, ob lngAnzahl größer als 0 ist
       If lngAnzahl > 0 Then
           Rows(37).Copy
           Range(Rows(38), Rows(38 + lngAnzahl - 1)).Insert
       End If
    End Sub
  4. Makro ausführen: Führe das Makro aus, um die Zeilen zu kopieren und die gewünschte Anzahl von Zeilen einzufügen.


Häufige Fehler und Lösungen

  • Fehler: Negativer Wert in A3: Wenn der Wert in Zelle A3 kleiner als 1 ist, wird das Makro keine Zeilen kopieren. Stelle sicher, dass du nur positive Zahlen eingibst.

  • Fehler: Zeilen sind nicht formatiert: Achte darauf, dass die Zeilen, die du kopierst, die notwendige Formatierung haben. Wenn nicht, musst du die Formatierung manuell übernehmen.


Alternative Methoden

  • Formeln verwenden: Anstelle von VBA kannst du auch Formeln verwenden, um die Daten in einer anderen Tabelle zu aggregieren. Dies kann in manchen Fällen schneller sein.

  • Power Query: Falls du mit großen Datenmengen arbeitest, kann Power Query eine nützliche Alternative sein, um Daten zu transformieren und zu laden.


Praktische Beispiele

  1. Beispiel mit 15 Zeilen: Wenn du in A3 die Zahl 15 eingibst, wird die Zeile 37 15-mal unter der Zeile 38 eingefügt.

  2. Beispiel mit 20 Zeilen: Wenn du die Zahl 20 eingibst, wird die Zeile 37 20-mal unter der Zeile 38 eingefügt.

  3. Erweiterung des Codes: Du kannst den Code erweitern, um weitere Bedingungen hinzuzufügen, z.B. das Überspringen des Kopierens bei bestimmten Kriterien.


Tipps für Profis

  • Verwendung von Variablen: Verwende klare und prägnante Variablennamen, um den Code leserlicher zu gestalten.

  • Fehlerbehandlung: Implementiere Fehlerbehandlungen im VBA-Code, um unvorhergesehene Probleme zu vermeiden.

  • Makros speichern: Speichere deine Excel-Datei als Makro-fähige Datei (.xlsm), damit dein VBA-Code erhalten bleibt.


FAQ: Häufige Fragen

1. Wie viele Zeilen kann ich maximal einfügen?
Das hängt von der Anzahl der Zeilen ab, die deine Excel-Tabelle maximal unterstützen kann. In der Regel sind das über 1 Million Zeilen.

2. Was passiert, wenn der Zähler in A3 leer ist?
Das Makro wird nicht ausgeführt, da die Variable lngAnzahl leer ist. Du solltest immer sicherstellen, dass A3 einen gültigen Wert hat.

3. Kann ich den Code für andere Zeilen anpassen?
Ja, du kannst die Zeilenangaben im Code anpassen, um andere Zeilen zu kopieren und einzufügen, je nach Bedarf.

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