VBA Paste Special zum Kopieren von Werten und Formaten in Excel (9 Beispiele) -

  • Teile Das
Hugh West

Wenn wir Daten in Microsoft Excel kopieren und einfügen müssen, stehen uns in Excel verschiedene Tastenkombinationen und Ribbon-Tools zur Verfügung. Excel VBA Makros verfügen ebenfalls über eine solche Möglichkeit anstelle von Arbeitsmappenoptionen. Wir werden die VBA Einfügen Spezial Werte und Formate in Excel.

Download Arbeitsbuch Praxis

Laden Sie dieses Übungsheft herunter, um zu üben, während Sie diesen Artikel lesen.

Werte und Formate mit PasteSpecial.xlsm

9 Beispiele für das Kopieren von Werten und Formaten mit der Einfügefunktion in Excel VBA

In diesem Artikel werden wir folgende Themen behandeln 9 Methoden mit VBA-Makros für Einfügen Spezial Werte und Format in Excel.

Zu diesem Zweck werden wir den nachstehenden Datensatz betrachten.

1. in VBA InputBox anwenden Paste Special zum Kopieren von Werten und Formaten

In diesem Beispiel verwenden wir die Option InputBox für Einfügen Spezial .

Schritt 1:

  • Gehen Sie zum Entwickler tab.
  • Klicken Sie auf Makro aufzeichnen .
  • Satz Excel_Einfügen_Spezial_1 als die Makro-Name .
  • Dann drücken Sie OK .

Schritt 2:

  • Klicken Sie nun auf die Schaltfläche Makros Befehl.
  • Wählen Sie die Makro und drücken Sie dann Schritt in .

Schritt 3:

  • Kopieren Sie den folgenden Code und fügen Sie ihn in das Befehlsmodul ein.
 Sub Excel_Paste_Special_1() Dim Copy_Cell As Range, Paste_Cell As Range xTitleId = "Salary_Sheet" Set Copy_Cell = Application.Selection Set Copy_Cell = Application.InputBox("Select Range to Copy :", xTitleId, Copy_Cell.Address, Type:=8) Set Paste_Cell = Application.InputBox("Paste to any blank cell:", xTitleId, Type:=8) Copy_Cell.Copy Paste_Cell.Parent.Activate Paste_Cell.PasteSpecialxlPasteValuesAndNumberFormats Paste_Cell.PasteSpecial xlPasteFormats Application.CutCopyMode = False End Sub 

Schritt 4:

  • Presse F5 um den Code auszuführen.
  • Es wird ein neues Dialogfeld angezeigt, in dem Sie den Quellbereich auswählen können.
  • Dann drücken Sie OK .

Schritt 5:

  • Wählen Sie einen leeren Bereich, in den Sie die kopierten Zellen einfügen möchten.

Sehen Sie sich nun den Datensatz an.

Alle Daten werden mit Werten und Formaten kopiert, indem die VBA Einfügen Spezial .

Lesen Sie mehr: Anwendung von VBA PasteSpecial und Beibehaltung der Quellformatierung in Excel

2. zellenbereich mit Werten und Formaten einfügen mit xlPasteAllUsingSourceTheme in VBA Paste Special

Wir fügen den Zellbereich direkt in das Feld VBA Code in diesem Abschnitt.

Schritt 1:

  • Presse Alt+F11 um das Kommandomodul zu betreten.
  • Fügen Sie den folgenden Code in das Befehlsmodul ein.
 Sub Excel_Paste_Special_2() Range("B4:C9").Copy Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub 

Schritt 2:

  • Drücken Sie nun F5 um den Code auszuführen.

Diese xlPasteAllUsingSourceTheme kopiert das exakte Duplikat der Quelldaten.

Lesen Sie mehr: Excel VBA: Zellwert kopieren und in eine andere Zelle einfügen

3. eine VBA-Variable verwenden, um einen Bereich mit Werten und Formaten mit Hilfe von Paste Special einzufügen

Wir werden die Verwendung von Variablen in der VBA Einfügen Spezial Code hier.

Schritt 1:

  • Rufen Sie zunächst das Befehlsmodul auf, indem Sie Alt+F11 .
  • Geben Sie den folgenden Code in das Befehlsmodul ein.
 Sub Excel_Paste_Special_3() Dim source_rng As Range, paste_rng As Range Set source_rng = Range("B4:C9") Set paste_rng = Range("E4") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

Schritt 2:

  • Presse F5 und führen Sie den Code aus.

Lesen Sie mehr: Excel VBA: Bereich in eine andere Arbeitsmappe kopieren

4. xlPasteValues und xlPasteFormats verwenden, um Werte und Formate in ein anderes Blatt zu kopieren, wobei die Formate unverändert bleiben

Die obigen Methoden wurden für das Kopieren und Einfügen von Daten in dasselbe Blatt verwendet. Jetzt werden wir zeigen, wie man die VBA Einfügen Spezial für verschiedene Blätter.

Schritt 1:

  • Rufen Sie das Befehlsmodul auf, indem Sie auf Alt+F11 und kopieren Sie den folgenden Code hinein.
 Private Sub Excel_Paste_Special_4() Application.ScreenUpdating = False Dim source_rng As Worksheet Dim paste_rng As Worksheet Set source_rng = Worksheets("Data_Set") Set paste_rng = Worksheets("Different_Sheet") Set Destination = paste_rng.Range("B2") source_rng.Range("B2:C9").Copy Destination.PasteSpecial Paste:=xlPasteValues Destination.PasteSpecial Paste:=xlPasteFormatsApplication.CutCopyMode = False Application.ScreenUpdating = True End Sub 

Schritt 2:

  • Presse F5 um den Code auszuführen.

Wir können sehen, dass die Daten der Daten_Satz wird kopiert nach Anders_Blatt .

Lesen Sie mehr: Wie man VBA PasteSpecial für Formeln und Formate in Excel verwendet (3 Wege)

Ähnliche Lektüre

  • Kopieren mehrerer Zellen in ein anderes Blatt in Excel (9 Methoden)
  • Unterschied zwischen Einfügen und Einfügen spezial in Excel
  • Excel VBA zum Kopieren von Daten aus einer anderen Arbeitsmappe ohne Öffnen
  • Kopieren und Einfügen in Excel unter Beibehaltung der Zellengröße (7 Beispiele)
  • Kopieren und Einfügen von Werten in die nächste leere Zeile mit Excel VBA (3 Beispiele)

5. xlPasteFormats verwenden, um nur die Formate einzufügen

Während bei den vorherigen Methoden die gesamten Daten kopiert und unverändert eingefügt wurden, wird in diesem Abschnitt nur das Format der Daten kopiert.

Schritt 1:

  • Gehen Sie zum Kommandomodul, indem Sie Alt+F11 .
  • Kopieren Sie den nachstehenden Code und fügen Sie ihn in das Befehlsmodul ein.
 Sub Excel_Paste_Special_5() Range("B2:C9").Copy Range("E2").PasteSpecial xlPasteFormats End Sub 

Schritt 2:

  • Drücken Sie nun die F5 und führen Sie den Code aus.

Schauen Sie sich den Datensatz an: Es werden nur die Formate kopiert, es sind keine Werte vorhanden.

Lesen Sie mehr: Kopieren und Einfügen in Excel ohne Änderung des Formats

6. xlPasteValues verwenden, um nur die Werte einzufügen

Wir können die Werte nur mit der Option VBA Einfügen Spezial .

Schritt 1:

  • Presse Alt+F11 um das Kommandomodul zu betreten.
  • Schreiben Sie den folgenden Code in das Befehlsmodul.
 Sub Excel_Paste_Special_6() Range("B4:C9").Copy Range("E4").PasteSpecial xlPasteValues End Sub 

Schritt 2:

  • Klicken Sie auf F5 und führen Sie den Code aus.

Beachten Sie den Datensatz. Hier werden nur Werte kopiert. Bei dieser Methode werden keine Formate kopiert.

Lesen Sie mehr: Verwenden von VBA zum Einfügen von Werten ohne Formatierung in Excel

7 Kopieren und Einfügen des gesamten Inhalts einer einzelnen Zelle

In den vorangegangenen Abschnitten haben wir einen Datenbereich kopiert, hier werden wir nur eine einzelne Zelle kopieren.

Schritt 1:

  • Drücken Sie nun Alt+F11 und geben Sie das Befehlsmodul ein.
  • Geben Sie den folgenden Code in das Modul ein.
 Sub Excel_Paste_Special_7() Range("B4").Copy Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub 

Schritt 2:

  • Drücken Sie nun die F5 um den Code auszuführen.

Wir sehen, dass hier eine einzelne Zelle kopiert wird, kein Bereich.

Lesen Sie mehr: Formel zum Kopieren und Einfügen von Werten in Excel (5 Beispiele)

8. alle Attribute einer bestimmten Spalte mit VBA kopieren und einfügen

Wie eine einzelne Zelle können wir auch eine einzelne Spalte im Datensatz kopieren.

Schritt 1:

  • Drücken Sie einfach die Alt+F11 um das Kommandomodul zu betreten.
  • Schreiben Sie den folgenden Code in das Modul.
 Sub Excel_Paste_Special_8() Dim source_rng As Range, paste_rng As Range Set source_rng = Columns("C") Set paste_rng = Columns("E") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

Schritt 2:

  • Führen Sie den Code aus, indem Sie F5 .

Hier können wir sehen, dass Säule B wird kopiert nach Säule E .

Lesen Sie mehr: [Behoben]: Rechtsklick-Kopieren und Einfügen funktioniert in Excel nicht (11 Lösungen)

9. alle Attribute einer Zeile mit Excel VBA kopieren und einfügen

Auf ähnliche Weise können wir eine einzelne Zeile mit der Methode Einfügen Spezial .

Schritt 1:

  • Klicken Sie auf Alt+F11 um das Befehlsmodul aufzurufen.
  • Kopieren Sie den folgenden Code in das Befehlsmodul.
 Sub Excel_Paste_Special_9() Dim source_rng As Range, paste_rng As Range Set source_rng = Rows("4") Set paste_rng = Rows("11") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

Schritt 2:

  • Führen Sie den Code aus, indem Sie F5 .

Hier, Reihe 4 wird kopiert nach Reihe 11 .

Lesen Sie mehr: Kopieren mehrerer Zeilen in Excel mit einem Makro (4 Beispiele)

Schlussfolgerung

In diesem Artikel haben wir erklärt 9 Methoden von VBA Paste Special Werte und Formate in Excel. Ich hoffe, dass dies Ihre Bedürfnisse befriedigt. Bitte schauen Sie sich unsere Website an Exceldemy.com und geben Sie Ihre Vorschläge in das Kommentarfeld ein.

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.