Aktuellen Excel-Zellbereich per VBA-Makro in eine neue Tabelle kopieren
Sie möchten in einem Makro alle Zellen aus einem zusammenhängenden Zellbereich automatisch kopieren? Das ist besonders praktisch, wenn Sie flexibel auf Eingaben von Anwendern reagieren möchten und nicht wissen, wie groß eingetragene Datenbereiche sind.
Mit einem Makro können Sie diese Aufgabe erledigen. Das Makro bestimmt alle Zellen um die aktive Zelle herum und kopiert genau diese Zellen in eine neue Arbeitsmappe.
Die folgende Abbildung zeigt eine Tabelle mit drei unterschiedlichen Datenbereichen. Sie sind farblich gekennzeichnet, damit sie besser zu erkennen sind.
Als zusammengehörig gelten alle Zellen, die ohne Leerzellen an benachbarte Zellen anschließen.
Mit einem passenden Makro sorgen Sie dafür, dass nach dem Anklicken einer Zelle in einem Zellbereich alle dazugehörenden Zellen in eine neue Tabelle kopiert werden. Hier ist der passende Programmcode:
Sub KopiereAktuellenBereich()
Dim Quellbereich As Range
Dim NeuesBlatt As Worksheet
Set Quellbereich = ActiveCell.CurrentRegion
Set NeuesBlatt = Workbooks.Add.Worksheets(1)
Quellbereich.Copy Destination:=NeuesBlatt.Range("A1")
End Sub
Klicken Sie vor dem Aufruf des Makros irgendeine Zelle in einer Tabelle an. Das Makro bestimmt alle Zellen, die gemeinsam mit der markierten Zelle zu einem Bereich gehören und kopiert diesen Datenbereich in eine neue, leere Arbeitsmappe. Die folgende Abbildung zeigt, wie das Ergebnis nach dem Aufruf des Makros aussieht, wenn vor dem Makrostart Zelle E9 in der Tabelle aus der ersten Abbildung markiert ist.
Um das Makro einzugeben, drücken Sie in Excel die Tastenkombination ALT F11, um den VBA-Editor aufzurufen. Wählen Sie im VBA-Editor das Kommando EINFÜGEN - MODUL und geben Sie das Makro ein. Um das Makro zu starten, aktivieren Sie in Excel die Tastenkombination ALT F8. Die beiden Tastenkombinationen zum Starten des VBA-Editors und des Makros funktionieren in allen Excel-Versionen.