Daten per Makro aus einem Excel-Tabellenblatt in ein anderes kopieren
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: