Inhaltsverzeichnis
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.xlsm8 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.