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

Forumthread: Spalten kopieren, in andere Tabelle einfügen

Spalten kopieren, in andere Tabelle einfügen
13.08.2017 10:01:23
Dieter(Drummer)
Guten Tag VBA Spezialisten,
ich möchte aus Tabelle2 (Spalten A und B), ab A1 bis letzte belegte Zeile ind Tabelle1 ab letzter belegter Zeile in Spalte B und C kopieren.
Mit diesem Makro erhalte ich den Fehler: "... Bereich kopieren und Bereich einfügen haben unterschiedliche Formen und Größen ...".
Was muss da im Makro geändert werden damit es funktioniert?
Code:

Sub Kopieren_Einfügen_ab_letzteFreieZeile()
Sheets("Tabelle2").Range("A:B").Copy Destination:=Sheets("Tabelle1") _
.Cells(Sheets("Tabelle1").Rows.Count, 2).End(xlUp).Offset(1, 0)
End Sub

Mit der Bitte um Code Anpassung, grüßt
Dieter(Drummer)
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten kopieren, in andere Tabelle einfügen
13.08.2017 10:09:41
Matthias
Hallo Dieter

ich möchte aus Tabelle2 (Spalten A und B), ab A1 bis letzte belegte Zeile ind Tabelle1 ab letzter belegter Zeile in Spalte B und C kopieren.

mit Zitat:

Sheets("Tabelle2").Range("A:B").Copy

machst Du das aber nicht, sondern kopierst die kompletten Spalten "A:B"
und willst sie dann in einen kleineren Bereich einfügen.
Du solltest nur den relevanten Teil kopieren und dann als Zielzelle die erste freie Zelle in Ziel angeben.
Gruß Matthias
Anzeige
AW: Danke an alle Helfer...
13.08.2017 10:19:12
Dieter(Drummer)
... MatthiasL und Hajo, verstehe, was ihr mir da mitteilt.
Danke Werner, dein Code ist perfekt für mein Vorhaben.
Nachmal Dank an alle für schnelle Lösungen.
Gruß, Dieter(Drummer)
Gerne u. Danke für die Rückmeldung. o.w.T.
13.08.2017 10:20:19
Werner
AW: Spalten kopieren, in andere Tabelle einfügen
13.08.2017 10:10:33
Hajo_Zi
Hallo Dieter,
Sheets("Tabelle1").Rows.Count ist 1.048.576 und da kannst Du kein Offset um eine Zeile machen.

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben, mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Anzeige
AW: Spalten kopieren, in andere Tabelle einfügen
13.08.2017 10:11:45
Werner
Hallo Dieter,
so:
Sub Kopieren_Einfügen_ab_letzteFreieZeile()
Dim loLetzteQ As Long
Dim loLetzteZ As Long
loLetzteQ = Worksheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row
loLetzteZ = Worksheets("Tabelle1").Cells(Rows.Count, 2).End(xlUp).Row
Sheets("Tabelle2").Range("A1:B" & loLetzteQ).Copy _
Worksheets("Tabelle1").Range("B" & loLetzteZ + 1)
End Sub
Gruß Werner
Anzeige
;

Forumthreads zu verwandten Themen

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

Spalten kopieren und in andere Tabelle einfügen


Schritt-für-Schritt-Anleitung

Um eine Excel-Spalte in ein anderes Tabellenblatt zu übernehmen, kannst du die folgende Schritt-für-Schritt-Anleitung nutzen:

  1. Makro erstellen: Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Neues Modul: Klicke im Menü auf Einfügen > Modul, um ein neues Modul zu erstellen.
  3. Code einfügen: Kopiere den folgenden VBA-Code in das Modul:

    Sub Kopieren_Einfügen_ab_letzteFreieZeile()
        Dim loLetzteQ As Long
        Dim loLetzteZ As Long
        loLetzteQ = Worksheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row
        loLetzteZ = Worksheets("Tabelle1").Cells(Rows.Count, 2).End(xlUp).Row
        Sheets("Tabelle2").Range("A1:B" & loLetzteQ).Copy _
        Worksheets("Tabelle1").Range("B" & loLetzteZ + 1)
    End Sub
  4. Makro ausführen: Schließe den VBA-Editor und führe das Makro über Entwicklertools > Makros aus. Wähle das Makro aus und klicke auf Ausführen.

Mit diesem Makro werden die Spalten A und B aus Tabelle2 in die erste freie Zeile von Tabelle1 in die Spalten B und C kopiert.


Häufige Fehler und Lösungen

  • Fehler: Unterschiedliche Formen und Größen: Dieser Fehler tritt auf, wenn du versuchst, eine ganze Spalte zu kopieren und in einen kleineren Bereich einzufügen. Achte darauf, nur den benötigten Bereich zu kopieren, wie im obigen Code gezeigt.
  • Problem beim Offset: Wenn Rows.Count zu hoch ist (z.B. 1.048.576), kann dies zu Problemen führen. Stelle sicher, dass du die letzte belegte Zeile korrekt ermittelst.

Alternative Methoden

Du kannst auch die Funktion „Kopieren und Einfügen“ direkt in Excel nutzen, um Spalten von einem Tabellenblatt in ein anderes zu übertragen:

  1. Spalte auswählen: Klicke auf den Spaltenkopf der gewünschten Spalte.
  2. Kopieren: Drücke CTRL + C oder klicke mit der rechten Maustaste und wähle „Kopieren“.
  3. Zielblatt auswählen: Wechsel zu dem Tabellenblatt, in das du die Spalte einfügen möchtest.
  4. Einfügen: Klicke auf die Zelle, ab der du einfügen möchtest, und drücke CTRL + V oder klicke mit der rechten Maustaste und wähle „Einfügen“.

Praktische Beispiele

  • Beispiel 1: Um eine ganze Spalte in ein anderes Tabellenblatt zu übernehmen, kannst du den Code anpassen, sodass die gesamte Spalte A in Tabelle2 in Tabelle1 kopiert wird:

    Sheets("Tabelle2").Range("A:A").Copy _
    Worksheets("Tabelle1").Range("B1")
  • Beispiel 2: Wenn du nur spezifische Zeilen (z.B. von A1 bis A10) kopieren möchtest:

    Sheets("Tabelle2").Range("A1:A10").Copy _
    Worksheets("Tabelle1").Range("B1")

Tipps für Profis

  • Spalten automatisch einfügen: Du kannst auch die Funktion „Spalten in ein neues Tabellenblatt übernehmen“ nutzen, um Daten dynamisch zu verwalten.
  • Verwendung von Variablen: Nutze Variablen, um die letzte belegte Zeile flexibler zu handhaben und Fehler zu vermeiden, wenn sich die Daten ändern.

FAQ: Häufige Fragen

1. Wie kopiere ich eine Excel-Spalte in eine andere Tabelle ohne VBA?
Du kannst die Spalte manuell kopieren, indem du die gewünschten Zellen mit CTRL + C kopierst und in der Zielzelle mit CTRL + V einfügst.

2. Was tun, wenn das Makro nicht funktioniert?
Überprüfe, ob die Blattnamen korrekt sind und dass du die richtigen Zellen ausgewählt hast.

3. Kann ich mehrere Spalten gleichzeitig kopieren?
Ja, du kannst mehrere Spalten in einem Bereich angeben, z.B. Range("A:B"), um die Spalten A und B zu kopieren.

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