Anwendung von VBA PasteSpecial und Beibehaltung der Quellformatierung in Excel

  • Teile Das
Hugh West

Es gibt jedoch Situationen, in denen wir mehr als nur Text duplizieren möchten. Wir können alle Funktionen von Excel kopieren, z. B. die bedingte Formatierung, die Validierung von Daten, die Formatierung von Datentypen und ästhetische Merkmale wie Rahmen und Zellfarben. Vielleicht bewundern Sie das Farbschema Ihres Kollegen, benötigen aber statische Daten, oder die Formeln sind fantastisch, aber das Farbschema gefällt Ihnen nicht.In diesem Lernprogramm zeigen wir die VBA PasteSpecial und behalten die Formatierung der Quelle in Excel bei.

Download Arbeitsbuch Praxis

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

VBA EinfügenSpezial.xlsm

4 einfache Beispiele für die Anwendung von VBA PasteSpecial und die Beibehaltung der Quellformatierung in Excel

Wir demonstrieren vier Beispiele für die Verwendung der Funktion "Einfügen" in VBA Hier ist ein Beispieldatensatz, den wir zum Kopieren und Einfügen verwenden werden.

1. ein Eingabefeld mit VBA PasteSpecial hinzufügen und die Formatierung der Quelle in Excel beibehalten

Zuallererst werden wir das Feld verwenden, um einen Bereich auszuwählen und ihn dann in eine andere Zelle einzufügen. Gehen Sie dazu wie folgt vor.

Schritt 1:

  • Drücken Sie erstens Alt + F11 um eine Makro .
  • Klicken Sie dann auf das Symbol Einfügen, wählen Sie die Modul Option.

Schritt 2:

  • Fügen Sie den folgenden VBA-Code ein.
 Sub PasteSpecialKeepFormat() 'deklarieren Sie CopyCell und PasteCell als Bereichsvariable Dim CopyCell As Range, PasteCell As Range 'geben Sie dem Eingabefeld einen Namen xTitleId = "ExcelWIKI" 'stellen Sie ein, dass der zu kopierende Bereich aus dem Arbeitsblatt ausgewählt wird Set CopyCell = Application.Selection 'stellen Sie ein Eingabefeld ein, um einen Bereich zum Kopieren zu nehmen Set CopyCell = Application.InputBox("Select Range to Copy :", xTitleId, CopyCell.Address,Type:=8) 'Eingabefeld für den einzufügenden Bereich festlegen Set PasteCell = Application.InputBox("Einfügen in eine beliebige leere Zelle:", xTitleId, Type:=8) 'Befehl zum Kopieren des ausgewählten Bereichs CopyCell.Copy 'Befehl zum Einfügen des Bereichs PasteCell.Parent.Activate 'Befehl zum Einfügen der Zellen unter Beibehaltung der Quellformatierung PasteCell.PasteSpecial xlPasteValuesAndNumberFormats PasteCell.PasteSpecial xlPasteFormatsApplication.CutCopyMode = False End Sub 

Schritt 3:

  • Speichern Sie das Programm und drücken Sie F5 um es auszuführen.
  • Nach dem Erscheinen der ExcelWIKI'. wählen Sie den Bereich $B$4:$C$11 .
  • Klicken Sie auf OK .

Schritt 4:

  • Wählen Sie eine beliebige leere Zelle zum Einfügen aus.
  • Klicken Sie dann auf GUT.

  • Daher erhalten Sie den Einfügewert, wenn Sie das Format beibehalten.

Lesen Sie mehr: Unterschied zwischen Einfügen und Einfügen spezial in Excel

2 VBA PasteSpecial anwenden, um Bereich auszuwählen und Quellformatierung in Excel beizubehalten

Unter VBA Sie können auch Bereiche angeben und diese unter Beibehaltung der Quellformatierung kopieren und einfügen.

Schritt 1:

  • Presse Alt + F11 zu öffnen Makro .
  • Erstellen Sie ein neues Modul aus dem einfügen.
  • Fügen Sie einfach den folgenden Text ein VBA Code für den Bereich B4:C11 .
 Sub pasteSpecial_KeepFormat() 'Bereich zum Kopieren auswählen Range("B4:C11").Copy 'Zelle zum Einfügen auswählen 'Command to pasteSpecial keeping the Format Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub 

Schritt 2:

  • Speichern Sie schließlich das Programm und drücken Sie F5 Daraufhin sehen Sie die Änderungen wie in der folgenden Abbildung dargestellt.

Lesen Sie mehr: VBA Paste Special zum Kopieren von Werten und Formaten in Excel (9 Beispiele)

Ähnliche Lektüre

  • VBA-Code zum Vergleichen zweier Excel-Blätter und Kopieren von Unterschieden
  • Excel VBA: Zellwert kopieren und in eine andere Zelle einfügen
  • Kopieren mehrerer Zellen in ein anderes Blatt in Excel (9 Methoden)
  • Excel VBA: Bereich in eine andere Arbeitsmappe kopieren
  • [Behoben]: Rechtsklick-Kopieren und Einfügen funktioniert in Excel nicht (11 Lösungen)

3. deklarieren von Variablen durch Anwendung von VBA PasteSpecial und Beibehaltung der Quellformatierung in Excel

Durch das Deklarieren von Variablen und das Setzen von Variablen auf verschiedene Bereiche, folgen Sie den folgenden Schritten, umSpecial in VBA .

Schritt 1:

  • Drücken Sie zunächst Alt + F11 zu öffnen VBA-Makro .
  • Wählen Sie eine neue Modul .
  • Dann fügen Sie Folgendes ein VBA-Code .
 Sub Copy_Paste_Special() 'Variablen deklarieren Dim copy_Rng As Range, Paste_Range As Range 'Befehl zum Kopieren des Bereichs Set copy_Rng = Range("B4:C11") 'Befehl zum Einfügen des Bereichs Set Paste_Range = Range("E4") copy_Rng.Copy 'Befehl zum Einfügen in pasteSpecial mit Beibehaltung des Formats Paste_Range.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

Schritt 2:

  • Nachdem Sie das Programm gespeichert haben, drücken Sie F5 zu laufen.
  • Daher wird der kopierte Bereich unter Beibehaltung der ursprünglichen Formatierung eingefügt.

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

4) VBA PasteSpecial verwenden und Quellformatierung in einem anderen Arbeitsblatt in Excel beibehalten

In diesem Teil werden wir über eine sehr wichtige Methode sprechen, denn wir werden durchgehen, wie man PasteSpecial in VBA in mehrere Arbeitsmappen kopieren, zum Beispiel von Blatt4 und fügen Sie es in Blatt5 ,' wie in den folgenden Schritten gezeigt.

Schritt 1:

  • Zum Öffnen VBA-Makro , drücken Alt + F11
  • Von der einfügen. wählen Sie die Registerkarte Modul.
  • Dann fügen Sie Folgendes ein VBA.
 Private Sub KeepSourceFormat() Application.ScreenUpdating = False 'Variablen deklarieren Dim copyRng As Worksheet Dim pasteRng As Worksheet 'Bereichsziel auf die Variable setzen Set copyRng = Worksheets("Sheet4") Set pasteRng = Worksheets("Sheet5") 'Ziel der eingefügten Zellen festlegen 'Für Zelle E4, Rows.count = 5, Offset = 3 Set Destination = pasteRng.Cells(Rows.Count, 5).End(xlUp).Offset(3, 0)'Befehl zum Kopieren des Bereichs copyRng.Range("B4:C11").Copy 'Befehl zum Einfügen des Bereichs Destination.PasteSpecial Paste:=xlPasteValues Destination.PasteSpecial Paste:=xlPasteFormats Application.CutCopyMode = False Application.ScreenUpdating = True End Sub 

Schritt 2:

  • Um das Programm zu starten, drücken Sie F5 nach dem Speichern des Programms.
  • Daher erhalten Sie den eingefügten Wert in Blatt 5 unter Beibehaltung des Quellformats.

Lesen Sie mehr: Verwendung des Befehls "Einfügen spezial" in Excel (5 geeignete Methoden)

Schlussfolgerung

Zusammenfassend hoffe ich, dass Sie jetzt wissen, wie man Excel-VBA Alle diese Strategien sollten Sie Ihren Daten beibringen und anwenden. Sehen Sie sich das Übungsbuch an und wenden Sie das Gelernte an. Dank Ihrer wichtigen Unterstützung sind wir motiviert, weiterhin Vorträge wie diesen zu halten.

Bitte zögern Sie nicht, uns zu kontaktieren, wenn Sie Fragen haben, und teilen Sie uns Ihre Meinung in den Kommentaren unten mit.

Ihre Fragen werden so schnell wie möglich von der Exzellent Personal.

Bleiben Sie bei uns und lernen Sie weiter.

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.