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

Forumthread: Makro Tabelle kopieren und einfügen

Makro Tabelle kopieren und einfügen
12.07.2017 10:17:11
Darve
Hallo zusammen,
ich habe ein kleines Problem (für euch wahrscheinlich weniger :-D)!
Ich habe eine Excel Datei mit 2 Worksheets.
In Tabelle2 gebe ich Daten ein von A2 bis Spalte L aber die Anzahl an Zeilen sind sehr variabel (Kann bis über 600 Zeilen sein).
Jetzt will ich die Daten über Makro oder Command Butten in Tabelle1 übertragen. Soweit so gut. Das bekomm ich noch hin :-)
Nur soll bei neuen Daten Eingaben in Tabelle2 diese unterhalb von Tabelle1 kopieren (Also nicht überschreiben sondern darunter eingefügt werden).
Was noch hinzukommt ist das in Tabelle2 in den Spalten A und B eine Formel hinterlegt ist. Ich aber nicht die Formel sondern den Wert übernehmen will in Tabelle1.
Ich hoffe ihr versteht mein Problem und könnt mir helfen
Vielen Dank
Gruß
Daver
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Tabelle kopieren und einfügen
12.07.2017 10:27:43
Tino
Hallo,
hier mal eine Variante, es gibt noch andere.
Sub Bsp()
Dim rng As Range
'Daten
With Tabelle2
Set rng = .Range("A2", .Cells(.Rows.Count, 1).End(xlUp)).Resize(, 12)
End With
If rng.Rows(1).Row 
Gruß Tino
AW: Makro Tabelle kopieren und einfügen
12.07.2017 11:27:20
Darve
Hallo Tino,
Vielen Danke! Funktioniert einwandfrei :-D
Grüße
Daver
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

Makros nutzen, um Tabellen zu kopieren und einzufügen


Schritt-für-Schritt-Anleitung

Um eine Excel-Tabelle mit Makros zu kopieren und einzufügen, kannst du folgende Schritte befolgen:

  1. Öffne deine Excel-Datei mit den beiden Tabellenblättern (z.B. Tabelle1 und Tabelle2).

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (deinDateiname)" und wähle "Einfügen" > "Modul".

  4. Kopiere folgenden VBA-Code in das Modul:

    Sub TabelleKopierenUndEinfuegen()
       Dim rng As Range
       ' Daten von Tabelle2 kopieren
       With Tabelle2
           Set rng = .Range("A2", .Cells(.Rows.Count, 1).End(xlUp)).Resize(, 12)
       End With
    
       ' Werte in Tabelle1 einfügen
       If rng.Rows(1).Row > 1 Then
           rng.Copy
           Tabelle1.Cells(Tabelle1.Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
       End If
       Application.CutCopyMode = False
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Erstelle einen Button, um das Makro auszuführen: Gehe zu "Entwicklertools" > "Einfügen" > "Button" und ziehe ihn auf dein Arbeitsblatt.

  7. Verknüpfe den Button mit dem Makro, indem du das entsprechende Makro auswählst.

Jetzt kannst du das Makro ausführen, um die Daten aus Tabelle2 in Tabelle1 zu kopieren und einzufügen.


Häufige Fehler und Lösungen

  • Fehler: Das Makro findet die Daten nicht.

    • Lösung: Überprüfe, ob die Daten in Tabelle2 ab Zelle A2 beginnen. Stelle sicher, dass die Tabelle korrekt benannt ist.
  • Fehler: Es werden Formeln anstelle von Werten eingefügt.

    • Lösung: Stelle sicher, dass du PasteSpecial mit xlPasteValues verwendest, um nur die Werte zu kopieren.

Alternative Methoden

Wenn du kein VBA verwenden möchtest, kannst du auch die folgenden Methoden ausprobieren:

  • Kopieren und Einfügen: Markiere die Zellen in Tabelle2, kopiere sie (Strg + C) und füge sie in Tabelle1 als Werte ein (Rechtsklick > Inhalte einfügen > Werte).
  • Excel-Formeln: Verwende Formeln wie =Tabelle2!A2 um auf die Daten in Tabelle2 zuzugreifen, ohne VBA oder Makros zu verwenden.

Praktische Beispiele

Beispiel 1: Kopiere nur bestimmte Spalten

Wenn du nur bestimmte Spalten aus Tabelle2 in Tabelle1 kopieren möchtest, kannst du den VBA-Code anpassen:

Set rng = .Range("A2:B" & .Cells(.Rows.Count, 1).End(xlUp).Row)

Beispiel 2: Automatisiere das Kopieren

Du kannst das Makro so einstellen, dass es beim Öffnen der Datei automatisch ausgeführt wird.

Private Sub Workbook_Open()
    Call TabelleKopierenUndEinfuegen
End Sub

Tipps für Profis

  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen in deinen VBA-Code ein, um Probleme besser zu erkennen.
  • Makros testen: Teste deine Makros immer in einer Kopie deiner Datei, um Datenverlust zu vermeiden.
  • Dokumentation: Kommentiere deinen Code ausreichend, damit du später nachvollziehen kannst, was jeder Teil des Makros macht.

FAQ: Häufige Fragen

1. Wie kann ich mein Makro speichern? Um dein Makro zu speichern, musst du die Datei im .xlsm-Format speichern, damit die Makros erhalten bleiben.

2. Kann ich das Makro anpassen, um mehr als 12 Spalten zu kopieren? Ja, du kannst die Resize(, 12)-Anweisung anpassen, um die gewünschte Anzahl von Spalten zu kopieren. Ersetze 12 einfach durch die Anzahl der Spalten, die du benötigst.

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