Daten per Makro aus einem Excel-Tabellenblatt in ein anderes kopieren
© sdecoret - Adobe Stock

Daten per Makro aus einem Excel-Tabellenblatt in ein anderes kopieren

Um Daten aus einem Excel-Tabellenblatt in ein anderes Blatt der gleichen Arbeitsmappe zu kopieren, können Sie ein Makro verwenden

Möchten Sie Inhalte eines Bereichs aus einem Tabellenblatt in ein anderes übertragen? Beim interaktiven Einsatz von Excel ist das ganz einfach. Aber wie erledigen Sie die Aufgabe mit einem Makro? Bauen Sie eine Schleife auf, in der alle Zellen durchlaufen werden, die Sie kopieren möchten. So sieht das Makro aus:

Sub KopiereBereich()
Dim Quelltab As Worksheet
Dim Zieltab As Worksheet
Dim Zelle As Range
Dim Zaehler As Long
Zaehler = 1
Bereich = "A1:A10"
Set Quelltab = ActiveWorkbook.Worksheets("Tabelle1")
Set Zieltab = ActiveWorkbook.Worksheets("Tabelle2")
For Each Zelle In Quelltab.Range("A1:A10")
 Zieltab.Cells(Zaehler, 1) = Zelle
 Zaehler = Zaehler + 1
Next Zelle
End Sub

In der Definition der Variablen "Quelltab" legen Sie den Namen der Quelltabelle innerhalb der Arbeitsmappe fest. Das ist das Tabellenblatt, aus dem Sie die Daten kopieren möchten. IM Makro ist es das Blatt "Tabelle1".

Über die Variable "Zieltab" definieren Sie den Namen des Tabellenblatts, in das Sie die Daten hineinkopieren möchten.

Im Makro wird der Bereich A1:A10 kopiert. Wenn Sie einen anderen Bereich verwenden möchten, passen Sie das Makro entsprechend an.

Über die Variable "Zaehler" steuern Sie, in welcher Zeile der Zieltabelle mit dem Einfügen der Zellen begonnen werden soll. Die Daten werden in Zellen untereinander kopiert

Um das Makro einzugeben, drücken Sie in Excel die Tastenkombination ALT F11, um den VBA-Editor aufzurufen. Fügen Sie hier über das Kommando EINFÜGEN - MODUL ein leeres Modulblatt ein. Um das Makro direkt aus Excel zu starten, setzen Sie die Tastenkombination ALT F8 ein.

Komplettes Tabellenblatt innerhalb einer Arbeitsmappe kopieren

Sie haben auch die Möglichkeit das komplette Tabellenblatt innerhalb einer Arbeitsmappe via Makro zu kopieren. Um das aktive Tabellenblatt der aktuellen Arbeitsmappe an das Ende der Arbeitsmappe zu kopieren, setzen Sie das folgende Makro ein:


Sub KopiereAktiveTabelle()
ActiveSheet.Copy After:=Worksheets(Worksheets.Count)
End Sub


Nach dem Start des Makros wird die aktive Arbeitsmappe um ein Tabellenblatt erweitert. Es handelt sich dabei um die Kopie des Tabellenblatts, das beim Aufruf des Makros aktiv war.  Um die beiden Tabellenblätter voneinander zu unterscheiden, legt Excel hinter dem kopierten Tabellenblatt eine fortlaufende Nummer an. Die folgende Abbildung zeigt, wie das in Tabellenregister aussieht, nachdem das Tabellenblatt "Umsatz" kopiert worden ist: