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

Forumthread: Mehrere Zeilen kopieren und einfügen per VBA

Mehrere Zeilen kopieren und einfügen per VBA
18.01.2016 14:58:00
Katja
Hallo
wie kann ich aus einem Tabellenblatt 2 nach 1 vier Zeilen automatisch kopieren per Vba.
Die Zeilen sollen unterhalb der aktiven zelle eingefügt werden.
ich hätte es so versucht
z = ActiveCell.Row
wsV.Rows("5:5").Copy ws.Range("A" & z)
z = z + 1
wsV.Rows("6:6").Copy ws.Range("A" & z)
z = z + 1
wsV.Rows("7:7").Copy ws.Range("A" & z)
z = z + 1
wsV.Rows("8:8").Copy ws.Range("A" & z)
Das Problem ist dabei, dass es verbundene Zellen gibt von Zeile 5-8.
Hier gibt es dann Probleme.
Diese werden nicht übernommen.
Hat jemand dazu eine Lösung?

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Zeilen kopieren und einfügen per VBA
18.01.2016 15:15:03
otto
Hi,
probier mal so:
z = ws.ActiveCell.Row
wsV.Rows("5:5").Copy
ws.Range("A" & z+1)
Selection.Insert Shift:=xlDown
otto

AW: Mehrere Zeilen kopieren und einfügen per VBA
18.01.2016 15:17:36
Daniel
Hi
bei Verbundzellen sollte man darauf achten, dass man möglichst den kompletten Zellverbund kopiert, dann gibt's normalerweise keine Probleme.
da du hier ja sowieso alle Zeilen kopiereren willst, die auch über den Verbund zusammen gehören, kannst du das problemlos machen, du darfst halt nur nicht jede Zeile einzeln kopieren sondern solltest alle Zeilen in "einem Rutsch" kopieren. Dann werden nicht nur die Verbunzellen problemlos mit kopiert, sondern das ganze geht auch etwas schneller:
wsV.Range("5:8").copy ws.Range("A" & Z)
oder etwas programmierfreundlicher
wsV.Rows(5).Resize(4).copy ws.Cells(z, 1)
Gruß Daniel

Anzeige
AW: Mehrere Zeilen kopieren und einfügen per VBA
18.01.2016 15:47:18
Katja
Besten Dank
beides hat funktioniert
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
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

Mehrere Zeilen kopieren und einfügen per VBA


Schritt-für-Schritt-Anleitung

Um mehrere Zeilen in Excel per VBA zu kopieren und einzufügen, kannst du die folgende Schritt-für-Schritt-Anleitung nutzen:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf „VBAProject“, wähle „Einfügen“ und dann „Modul“.
  3. Kopiere und füge den folgenden Code ein:

    Sub MehrereZeilenKopieren()
       Dim wsV As Worksheet
       Dim ws As Worksheet
       Dim z As Long
    
       Set wsV = ThisWorkbook.Sheets("Tabelle2") ' Quellblatt
       Set ws = ThisWorkbook.Sheets("Tabelle1")   ' Zielblatt
    
       z = ws.ActiveCell.Row ' Aktive Zeile ermitteln
    
       ' Alle Zeilen 5 bis 8 kopieren und einfügen
       wsV.Rows("5:8").Copy
       ws.Cells(z + 1, 1).PasteSpecial Paste:=xlPasteAll ' Füge unterhalb der aktiven Zelle ein
    
       Application.CutCopyMode = False ' Kopiermodus deaktivieren
    End Sub
  4. Führe das Makro aus:

    • Drücke F5 oder gehe zurück zu Excel und führe das Makro über die Entwicklertools aus.

Diese Methode erlaubt es dir, excel vba mehrere zeilen kopieren und sie nahtlos in ein anderes Arbeitsblatt einzufügen.


Häufige Fehler und Lösungen

  • Problem mit verbundenen Zellen: Wenn dein Arbeitsblatt verbundene Zellen enthält, kann es zu Problemen kommen. Stelle sicher, dass du den gesamten Zellverbund kopierst, statt jede Zeile einzeln. Der Code sollte daher so aussehen:

    wsV.Range("5:8").Copy ws.Range("A" & z)
  • Fehlermeldungen: Wenn du eine Fehlermeldung erhältst, überprüfe, ob die Quell- und Zielblätter korrekt angegeben sind und ob die Zellen, die du kopieren möchtest, existieren.


Alternative Methoden

Wenn VBA nicht die gewünschte Lösung bietet, kannst du die folgenden Alternativen in Betracht ziehen:

  • Manuelles Kopieren: Markiere die gewünschten Zeilen in Excel, kopiere sie mit STRG + C und füge sie mit STRG + V an der gewünschten Stelle ein.

  • Excel-Formeln: Du kannst auch Formeln verwenden, um Daten aus einem Arbeitsblatt in ein anderes zu ziehen, jedoch ist das nicht direkt das gleiche wie das Kopieren von Zellen.


Praktische Beispiele

Hier sind einige Beispiele, wie du excel vba zellen kopieren und einfügen kannst:

  1. Einzelne Zelle kopieren:

    wsV.Cells(5, 1).Copy ws.Cells(z, 1)
  2. Mehrere Zellen kopieren:

    wsV.Range("A1:A10").Copy ws.Range("B1")
  3. Zeilen kopieren, die spezifische Kriterien enthalten: Du kannst auch nur die Zeilen kopieren, die bestimmte Bedingungen erfüllen, indem du eine Schleife verwendest, um die Daten zu filtern.


Tipps für Profis

  • Optimierung des Codes: Verwende .Resize für dynamische Bereiche, um den Code flexibler zu gestalten:

    wsV.Rows(5).Resize(4).Copy ws.Cells(z, 1)
  • Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen, um das Makro robuster zu machen:

    On Error Resume Next
    ' Dein Code hier
    On Error GoTo 0

FAQ: Häufige Fragen

1. Wie kann ich mehrere Zellen kopieren und einfügen? Du kannst den Copy-Befehl mit einem definierten Bereich verwenden, z.B. wsV.Range("A1:A10").Copy ws.Range("B1").

2. Was passiert, wenn ich verbundene Zellen kopiere? Es ist wichtig, den gesamten Zellverbund auf einmal zu kopieren, um Probleme zu vermeiden. Achte darauf, die gesamte Zeile oder den gesamten Bereich zu kopieren, in dem die verbundenen Zellen enthalten sind.

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