Excel VBA Bereich in ein anderes Blatt kopieren (8 einfachste Möglichkeiten)

  • Teile Das
Hugh West

Wann immer Sie einen Bereich von einem Blatt in ein anderes Blatt oder eine Arbeitsmappe kopieren möchten, gibt es verschiedene Arten des Kopierens und Einfügens. In diesem Artikel werden Sie verschiedene Möglichkeiten kennenlernen, wie Sie mit Excel VBA einen Bereich in ein anderes Blatt kopieren können.

Um die Erklärung anschaulich zu machen, werde ich einen Beispieldatensatz verwenden, der die persönlichen Daten bestimmter Personen darstellt. Der Datensatz hat 4 Spalten. Diese Spalten sind die Vorname, Nachname, vollständiger Name, und E-Mail .

Arbeitsbuch zum Üben herunterladen

VBA Bereich in ein anderes Blatt kopieren.xlsm

8 Wege zu Excel VBA Bereich in ein anderes Blatt kopieren

1. einen Bereich in ein anderes Blatt mit Format kopieren

Wann immer Sie wollen Kopieren einen Bereich von einem Blatt zu einem anderen Blatt mit Format können Sie dies einfach mit der Option VBA .

Hier, ich werde Kopieren einem Bereich von Datensatz Blatt zu MitFormat Blatt.

Starten wir das Verfahren,

Öffnen Sie zunächst die Entwickler tab>> auswählen Visual Basic

Sie können auch die ALT + F11 Tastatur zum Öffnen der VBA Herausgeber.

Als nächstes wird ein neues Fenster mit dem Namen Microsoft Visual Basic für Anwendungen.

Öffnen Sie von dort aus einfügen. auswählen Modul .

A Modul geöffnet wird, geben Sie den folgenden Code in das geöffnete Fenster ein Modul .

 Sub Bereich_mitFormat_aufanderesBlattkopieren() Bereich("B1:E10").Kopieren Worksheets("MitFormat").Bereich("B1:E10") End Sub 

Hier habe ich die Unterverfahren Bereich_mitFormat_aufanderes_Blatt_kopieren

Ich habe die Reichweite B1:E10 zum Kopieren vom bestehenden Blatt auf den Blattnamen MitFormat .

Hier habe ich die Kopieren Methode, um den ausgewählten Bereich zu kopieren, Kopieren Methode kopiert jeden Bereich mit Format .

Endlich, Speichern Sie den Code und kehren Sie zum Arbeitsblatt zurück.

Als nächstes öffnen Sie die Siehe tab>> von Makros auswählen Makros anzeigen

➤ A Dialogfeld auftauchen.

Nun, vom Makro-Name wählen Sie die Bereich_mitFormat_aufanderes_Blatt_kopieren wählen Sie auch die Arbeitsmappe in Makros in .

Endlich, ausführen. die ausgewählten Makro .

Daher wird sie Kopieren den ausgewählten Bereich mit Format auf das neue Blatt, das ich ausgewählt habe ( WithFormat) .

2) VBA Kopieren eines Bereichs in ein anderes Blatt ohne Format

Es ist auch möglich Kopieren einen Bereich auf ein anderes Blatt ohne Format durch die Verwendung der VBA .

Hier, ich werde Kopieren einem Bereich von Datensatz Blatt zu OhneFormat Blatt.

Beginnen wir mit dem Verfahren,

Öffnen Sie nun die Entwickler tab>> auswählen Visual Basic ( verwenden Sie die ALT + F11)

Als nächstes öffnet sie Microsoft Visual Basic für Anwendungen.

Öffnen Sie dann einfügen. auswählen Modul .

A Modul geöffnet wird, geben Sie den folgenden Code in das geöffnete Fenster ein Modul .

 Sub Copy_Bereich_OhneFormat_EinanderesBlatt() Range("B1:E10").Copy Sheets("OhneFormat").Range("B1").PasteSpecial _ Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub 

Hier habe ich die Unterverfahren Bereich_ohneFormat_aufeinanderesBlatt_kopieren

Ich habe die Reichweite B1:E10 zum Kopieren vom bestehenden Blatt auf den Blattnamen OhneFormat .

Hier habe ich die Kopieren Methode, um den ausgewählten Bereich zu kopieren, sondern auch erwähnt Einfügen:=xlPasteValues im EinfügenSpezial Methode, so dass sie nur einfügt Werte des ausgewählten Bereichs, nicht das Format.

Endlich, Speichern Sie den Code und kehren Sie zum Arbeitsblatt zurück.

Als nächstes öffnen Sie die Siehe tab>> von Makros auswählen Makros anzeigen

➤ A Dialogfeld auftauchen.

Nun, vom Makro-Name wählen Sie die Bereich_ohneFormat_aufeinanderesBlatt_kopieren und wählen Sie auch die Arbeitsmappe in Makros in .

Endlich, ausführen. die ausgewählten Makro .

Daher wird sie Kopieren den ausgewählten Bereich nur mit Werte keine Format .

3. einen Bereich auf ein anderes Blatt mit Format und Spaltenbreite kopieren

Manchmal möchten Sie vielleicht Kopieren einen ausgewählten Bereich so wie er ist, dazu können Sie Kopieren eine Reihe mit Format und Breite der Säule .

Hier, ich werde Kopieren einem Bereich von Datensatz Blatt zu Format & Spaltenbreite Blatt.

Um zu sehen, wie man die Aufgabe mit VBA ,

Öffnen Sie zunächst die Entwickler tab>> auswählen Visual Basic

Sie können auch die ALT + F11 Tastatur zum Öffnen der VBA Herausgeber.

Als nächstes wird ein neues Fenster geöffnet, in dem Microsoft Visual Basic für Anwendungen.

Dort, offen einfügen. auswählen Modul .

A Modul geöffnet wird, geben Sie den folgenden Code in das geöffnete Fenster ein Modul .

 Sub Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth() Range("B1:E10").Copy Destination:=Sheets("Format & ColumnWidth").Range("B1") Range("B1:E10").Copy Sheets("Format & ColumnWidth").Range("B1").PasteSpecial Paste:=xlPasteColumnWidths, _ Operation:=xlNone, SkipBlanks:=False, Transpose:=False End Sub 

Hier habe ich die Unterverfahren Bereich_auf_ein_anderes_Blatt_mit_FormatundSpaltenbreite_kopieren

Ich habe die Reichweite B1:E10 um vom vorhandenen Blatt auf das Zielblatt zu kopieren Format & Spaltenbreite .

Hier habe ich die Kopieren Methode, um den ausgewählten Bereich zu kopieren. EinfügenSpezial Methode, wo ich erwähnt habe Einfügen:=xlPasteColumnWidths so dass der ausgewählte Bereich zusammen mit Format und Breite der Säule .

Endlich, Speichern Sie den Code und kehren Sie zum Arbeitsblatt zurück.

Als nächstes öffnen Sie die Siehe tab>> von Makros auswählen Makros anzeigen

➤ A Dialogfeld auftauchen.

Nun, von der Makro-Name wählen Sie die Bereich_auf_ein_anderes_Blatt_mit_FormatundSpaltenbreite_kopieren und wählen Sie auch die Arbeitsmappe in Makros in .

Endlich, ausführen. die ausgewählten Makro .

Infolgedessen wird sie Kopieren den ausgewählten Bereich mit Format und Breite der Säule .

4 VBA Kopieren eines Bereichs in ein anderes Blatt mit Formel

Falls Sie eine Formel in Ihrem Datensatz haben, die Sie kopieren möchten, können Sie den Bereich kopieren, der Formel auf ein anderes Blatt übertragen, wobei die Formel intakt bleibt.

Hier, ich werde Kopieren einem Bereich von Datensatz Blatt zu MitFormel Blatt

Beginnen wir mit dem Verfahren,

Öffnen Sie zunächst das Entwickler tab>> auswählen Visual Basic ( können Sie auch die ALT + F11 Tastatur)

Als nächstes öffnet sie Microsoft Visual Basic für Anwendungen.

Öffnen Sie von dort aus einfügen. auswählen Modul .

A Modul geöffnet wird, geben Sie den folgenden Code in das geöffnete Fenster ein Modul .

 Sub Copy_Bereich_mitFormel_ZuAnderemBlatt() Bereich("B1:E10").Copy Sheets("MitFormel").Bereich("B1").PasteSpecial Paste:=xlPasteFormulas, _ Operation:=xlNone, SkipBlanks:=False, Transpose:=False End Sub 

Hier habe ich die Unterverfahren Bereich_mit_Formel_auf_anderes_Blatt_kopieren

Ich habe die Reichweite B1:E10 um vom vorhandenen Blatt auf das Zielblatt zu kopieren MitFormel .

Hier habe ich die Kopieren Methode, um den ausgewählten Bereich zu kopieren. EinfügenSpezial Methode, wo ich erwähnt habe Einfügen:=xlPasteFormulas so dass sie die Formeln zusammen mit dem ausgewählten Bereich.

Endlich, Speichern Sie den Code und kehren Sie zum Arbeitsblatt zurück.

Öffnen Sie dann die Siehe tab>> von Makros auswählen Makros anzeigen

➤ A Dialogfeld auftauchen.

Nun, von der Makro-Name wählen Sie die Bereich_mit_Formel_auf_anderes_Blatt_kopieren wählen Sie auch die Arbeitsmappe in Makros in .

Endlich, ausführen. die ausgewählten Makro .

Daher wird sie Kopieren alle ausgewählten Zellbereiche mit Formeln .

Ähnliche Lektüre:

  • Verwendung von VBA Range Offset (11 Möglichkeiten)
  • VBA für jede Zelle im Bereich in Excel (3 Methoden)
  • Wie man das Range-Objekt von VBA in Excel verwendet (5 Eigenschaften)

5. einen Bereich mit AutoFit auf ein anderes Blatt kopieren

Während Kopieren einen Bereich auf ein anderes Blatt zu übertragen, können Sie auch die Funktion AutoFit Methode in der VBA zu AutoFit den kopierten Bereich auf dem neuen Blatt.

Hier, ich werde Kopieren einem Bereich von Datensatz Blatt zu AutoFit Blatt

Starten wir das Verfahren,

Öffnen Sie zunächst die Entwickler tab>> auswählen Visual Basic

Sie können auch die ALT + F11 Tastatur zum Öffnen der VBA Herausgeber.

Als nächstes öffnet sich ein Fenster von Microsoft Visual Basic für Anwendungen.

Dann öffnen Sie einfügen. auswählen Modul .

A Modul geöffnet wird, geben Sie den folgenden Code in das geöffnete Fenster ein Modul .

 Sub Copy_Range_withFormat_AutoFit() Sheets("Dataset").Select Range("B1:E10").Copy Sheets("AutoFit").Select Range("B1").Select ActiveSheet.Paste Columns("B:E").AutoFit End Sub 

Hier habe ich die Unterverfahren Bereich_mitFormat_AutoFit kopieren

Zunächst habe ich das Arbeitsblatt Datensatz Dann nehmen Sie den Bereich B1:E10 um vom vorhandenen Blatt auf das Zielblatt mit dem Namen AutoFit .

Hier habe ich die Kopieren Methode, um den ausgewählten Bereich zu kopieren, und die AutoFit Methode wird die angegebenen Spalten automatisch anpassen B:E .

Endlich, Speichern Sie den Code und kehren Sie zum Arbeitsblatt zurück.

Als nächstes öffnen Sie die Siehe tab>> von Makros auswählen Makros anzeigen

➤ A Dialogfeld auftauchen.

Nun, von der Makro-Name wählen Sie die Bereich_mitFormat_AutoFit kopieren wählen Sie auch die Arbeitsmappe in Makros in .

Endlich, ausführen. die ausgewählten Makro .

Daher wird sie Kopieren den ausgewählten Bereich auf ein neues Blatt und auch AutoFit die Spalten.

6 VBA Kopieren eines Bereichs in eine andere Arbeitsmappe

Wenn Sie möchten, können Sie auch Kopieren einen Bereich von einem Blatt auf ein anderes Blatt einer anderen Arbeitsmappe.

Hier, ich werde Kopieren einem Bereich von Datensatz Blatt zu Blatt1 von Buch1 Arbeitsbuch.

Starten wir das Verfahren,

Öffnen Sie zunächst die Entwickler tab>> auswählen Visual Basic (y Sie können auch die ALT + F11 Tastatur)

Dann öffnet sie Microsoft Visual Basic für Anwendungen.

Öffnen Sie dann einfügen. auswählen Modul .

A Modul geöffnet wird, geben Sie den folgenden Code in das geöffnete Fenster ein Modul .

 Sub Copy_Range_WithFormat_Toanother_WorkBook() Workbooks("Excel VBA Copy Range to Another Sheet.xlsm").Worksheets("Dataset").Range("B3:E10"). _ Copy Workbooks("Book1").Worksheets("Sheet1").Range("B3") End Sub 

Hier habe ich die Unterverfahren Bereich_mitFormat_aufeinanderes_Arbeitsbuch_kopieren

Ich habe den Bereich B3:E10 von Blattname Datensatz um vom bestehenden Blatt in die neue Arbeitsmappe zu kopieren Buch1 und Blattname Blatt1 .

Hier habe ich die Kopieren Methode, um den ausgewählten Bereich in die neue Arbeitsmappe zu kopieren.

Endlich, Speichern Sie den Code und kehren Sie zum Arbeitsblatt zurück.

Als nächstes öffnen Sie die Siehe tab>> von Makros auswählen Makros anzeigen

➤ A Dialogfeld auftauchen.

Nun, von der Makro-Name wählen Sie die Bereich_mitFormat_aufeinanderes_Arbeitsbuch_kopieren wählen Sie auch die Arbeitsmappe in Makros in .

Endlich, ausführen. die ausgewählten Makro .

Jetzt wird es Kopieren den ausgewählten Bereich aus dem Datensatz Blatt in eine andere Arbeitsmappe.

7. einen Bereich in die letzte Zeile eines anderen Blatts kopieren

In jedem Fall, wenn Sie Kopieren einen Bereich ab einer bestimmten Zelle oder der letzten Zelle auf ein anderes Blatt zu übertragen, können Sie die Funktion VBA .

Bevor ich in das Verfahren einsteige, möchte ich Ihnen sagen, dass ich zwei neue Blätter genommen habe, die aus Vollständiger Name, E-Mail, und Adresse .

Beobachten wir die Datensatz2 Blatt zuerst.

Hier ist die Unterhalb der letzten Zelle Blatt.

Hier, ich werde Kopieren einem Bereich von Datensatz2 Blatt zu Unterhalb der letzten Zelle sondern ab der ersten nicht leeren Zelle.

Öffnen Sie zunächst das Entwickler tab>> auswählen Visual Basic

Als nächstes öffnet sie Microsoft Visual Basic für Anwendungen.

Öffnen Sie dann einfügen. auswählen Modul .

A Modul geöffnet wird, geben Sie den folgenden Code in das geöffnete Fenster ein Modul .

 Sub Copy_Range_BelowLastCell_AnotherSheets() Sheets("Dataset2").Select lr = Cells.Find("*", Cells(1, 1), xlFormulas, xlPart, xlByRows, xlPrevious, False).Row Range("A2:C" & lr).Copy Sheets("Below Last Cell").Select lrAnotherSheet = Cells.Find("*", Cells(1, 1), xlFormulas, xlPart, xlByRows, xlPrevious, False).Row Cells(lrAnotherSheet + 1, 1).Select ActiveSheet.Paste Columns("A:C").AutoFit EndUnter 

Hier habe ich die Unterverfahren Bereich_unter_letzterZelle_andereBlätter_kopieren

Zunächst habe ich das Blatt Datensatz2 und verwendete dann die Reihe Methode zum Zählen der Letzte Reihe und behielt die gezählte Zeile in lr .

Dann nehmen Sie den Bereich A2:C & lr um vom vorhandenen Blatt auf das Zielblatt zu kopieren Unterhalb der letzten Zelle .

Auch hier wurde die Reihe Methode zum Zählen der Letzte Reihe eines anderen Blattes namens Unterhalb der letzten Zelle und behielt die gezählte Zeile in lrAnotherSheet .

Hier habe ich die Kopieren Methode, um den ausgewählten Bereich zu kopieren, und die AutoFit Methode wird die angegebenen Spalten automatisch anpassen A:C .

Endlich, Speichern Sie den Code und kehren Sie zum Arbeitsblatt zurück.

Als nächstes öffnen Sie die Siehe tab>> von Makros auswählen Makros anzeigen

➤ A Dialogfeld auftauchen.

Nun, von der Makro-Name wählen Sie die Bereich_unter_letzterZelle_andereBlätter_kopieren wählen Sie auch die Arbeitsmappe in Makros in .

Endlich, ausführen. die ausgewählten Makro .

Daher wird sie Kopieren den ausgewählten Bereich und wird Kleister aus der letzten Zeile eines anderen Blattes.

8 VBA Kopieren eines Bereichs in die letzte Zeile einer anderen Arbeitsmappe

Wenn Sie möchten, dass Kopieren einen Bereich in die letzte Zeile eines anderen Arbeitsmappenblatts zu übertragen, können Sie auch die Funktion VBA .

Hier, ich werde Kopieren einem Bereich von Datensatz2 Blatt zu Blatt1 von Buch2 sondern ab der ersten nicht leeren Zelle.

So starten Sie das Verfahren,

Öffnen Sie zunächst die Entwickler tab>> auswählen Visual Basic

Sie können auch die ALT + F11 Tastatur zum Öffnen der VBA Herausgeber.

Als nächstes wird ein neues Fenster geöffnet, in dem Microsoft Visual Basic für Anwendungen.

Öffnen Sie von dort aus einfügen. auswählen Modul .

A Modul geöffnet wird, geben Sie den folgenden Code in das geöffnete Fenster ein Modul .

 Sub Copy_Range_BelowLastCell_To_Another_Workbook() Dim wsCopy As Worksheet Dim wsDestination As Worksheet Dim lCopyLastRow As Long Dim lDestLastRow As Long Set wsCopy = Workbooks("Excel VBA Copy Range to Another Sheet.xlsm").Worksheets("Dataset2") Set wsDestination = Workbooks("Book2.xlsx").Worksheets("Sheet1") lCopyLastRow = wsCopy.Cells(wsCopy.Rows.Count, "A").End(xlUp).Row lDestLastRow =wsDestination.Cells(wsDestination.Rows.Count, "A").End(xlUp).Offset(1).Row wsCopy.Range("A2:C" & lCopyLastRow).Copy wsDestination.Range("A" & lDestLastRow) End Sub 

Hier habe ich die Unterverfahren Bereich_unter_letzte_Zelle_in_andere_Arbeitsmappe_kopieren wobei wsCopy und wsDestination sind Arbeitsblatt Typ, lCopyLastRow und lDestLastRow sind Lang Typ.

Erstens, verwendet Satz um Variablen für das zu kopierende Blatt und das Zielblatt zu setzen.

Als nächstes wurde die Reihe Methode zur Ermittlung der letzten Zeile anhand der Daten der Spalte A im Kopierbereich.

Auch hier wurde die Reihe Methode zur Ermittlung der ersten leeren Zeile anhand der Daten der Spalte A im Zielbereich auch verwendet Versetzt um eine Immobilie nach unten zu verschieben.

Endlich, Kopiert die Daten von Datensatz2 Blatt aus dem Excel VBA Bereich in ein anderes Blatt kopieren.xlsm Arbeitsmappe an das Ziel Blatt1 der Arbeitsmappe Buch2.xlsx .

Jetzt, Speichern Sie den Code und kehren Sie zum Arbeitsblatt zurück.

Als nächstes öffnen Sie die Siehe tab>> von Makros auswählen Makros anzeigen

➤ A Dialogfeld auftauchen.

Nun, von der Makro-Name wählen Sie die Bereich_unter_letzte_Zelle_in_andere_Arbeitsmappe_kopieren wählen Sie auch die Arbeitsmappe in Makros in .

Endlich, ausführen. die ausgewählten Makro .

Daher wird sie Kopieren den ausgewählten Bereich aus dem vorhandenen Blatt in die letzte Zeile einer anderen Arbeitsmappe.

Praxisteil

In der Arbeitsmappe ist ein Übungsblatt enthalten, mit dem Sie diese erklärten Excel-Methoden üben können VBA Bereich auf ein anderes Blatt kopieren.

Schlussfolgerung

In diesem Artikel habe ich 8 verschiedene Arten von einfachen und schnellen Möglichkeiten für Excel erklärt VBA Bereich in ein anderes Blatt kopieren. Diese verschiedenen Möglichkeiten helfen Ihnen, einen Bereich von einem Blatt in ein anderes und auch von einem Blatt in eine andere Arbeitsmappe zu kopieren. Zu guter Letzt, wenn Sie irgendwelche Vorschläge, Ideen und Feedback haben, zögern Sie nicht, unten zu kommentieren.

Hugh West ist ein äußerst erfahrener Excel-Trainer und -Analyst mit über 10 Jahren Erfahrung in der Branche. Er verfügt über einen Bachelor-Abschluss in Rechnungswesen und Finanzen sowie einen Master-Abschluss in Betriebswirtschaft. Hugh hat eine Leidenschaft für das Unterrichten und hat einen einzigartigen Lehransatz entwickelt, der leicht zu befolgen und zu verstehen ist. Seine Expertenkenntnisse in Excel haben Tausenden von Studenten und Berufstätigen auf der ganzen Welt geholfen, ihre Fähigkeiten zu verbessern und in ihrer Karriere herausragende Leistungen zu erbringen. Über seinen Blog teilt Hugh sein Wissen mit der Welt und bietet kostenlose Excel-Tutorials und Online-Schulungen an, um Einzelpersonen und Unternehmen dabei zu helfen, ihr volles Potenzial auszuschöpfen.