VBA Paste Special - Top 5 Möglichkeiten zur Verwendung der VBA PasteSpecial-Funktion?

Inhaltsverzeichnis

Ähnlich wie beim Arbeitsblatt, wenn wir Daten kopieren und in einen anderen Zellbereich einfügen, haben wir eine spezielle Einfügemethode, mit der wir die Daten als sich selbst oder nur die Formeln oder nur die Werte und dieselbe Art und Weise einfügen können, mit der wir Paste Special in VBA verwenden können Die Range-Eigenschaftsmethode lautet wie folgt: range. Fügen Sie special () ein und geben Sie den gewünschten Typ in die Klammern ein.

Paste Special in VBA

Paste Special in Excel dient in vielerlei Hinsicht in unserer täglichen Arbeit. Mit Paste Special können wir viel mehr als die üblichen Dinge tun. Copy & Paste gibt es überall in der Computerwelt. Aber Paste Special ist das Fortgeschrittene in Excel.

Wie bei der regulären Excel-Paste, die auch in VBA speziell ist, haben wir eine spezielle Paste-Methode zum Einfügen der kopierten Daten. Das Kopieren der Dinge in Excel ist für Excel-Benutzer keine seltsame Sache. Sie kopieren, fügen ein und verwenden meistens Paste Special, um ihren Zweck in vielerlei Hinsicht zu erfüllen.

In normalem Excel enthält das Einfügen viele Optionen wie Nur-Einfügen-Werte, Einfügeformeln, Einfügeformate usw.…

Paste Special muss auch in VBA wie folgt eingefügt, bearbeitet, Leerzeichen übersprungen und transponiert werden . Wir haben alle Parameter mit der Methode Paste Special .

Die Formel der Paste Special in VBA

Unten finden Sie die Formel für Paste Special in VBA

Paste Special ist mit dem VBA Range-Objekt verfügbar, da wir die Daten nach dem Kopieren in den Zellbereich einfügen. Daher ist die Paste Special-Methode mit dem Range- Objekt verfügbar .

Einfügetyp: Wie möchten Sie nach dem Kopieren der Daten einfügen? Ob Sie Werte, Formeln, Formate, Validierung usw. einfügen möchten. Nachfolgend finden Sie die vollständige Liste der unter Einfügen-Typ verfügbaren Optionen .

Spezielle Operation einfügen: Möchten Sie beim Einfügen alle Arten von Operationen wie Addieren, Subtrahieren, Dividieren, Multiplizieren oder Keine ausführen?

  • (Leerzeichen überspringen ): Wenn Sie Leerzeichen überspringen möchten, können Sie WAHR oder FALSCH wählen.
  • (Transponieren): Wenn Sie die Daten transponieren möchten, können Sie TRUE oder FALSE wählen.

Beispiele für Paste Special in Excel VBA

Im Folgenden finden Sie Beispiele für Paste-Spezial in VBA.

Beispiel 1 - Nur Werte mit der VBA PasteSpecial-Funktion einfügen

Im ersten Beispiel werden nur Werte mit Paste Special eingefügt. Angenommen, unten sind die Daten aufgeführt, die Sie im Blattnamen Sales Data haben.

Jetzt werden wir die Aufgabe des Kopierens und Einfügens mit verschiedenen speziellen Einfügemethoden ausführen. Befolgen Sie die folgenden Schritte.

Schritt 1: Erstellen Sie zuerst einen Makronamen.

Schritt 2: Kopieren Sie zunächst den Bereich A1 bis D14 aus dem Blattnamen „Verkaufsdaten“. Wenden Sie den folgenden Code an, um den Bereich zu kopieren.

Code:

Bereich ("A1: D14"). Kopieren

Schritt 3: Nach dem Kopieren der Daten werden die Werte von G1 bis J14 eingefügt. Verweisen Sie zunächst auf den Bereich.

Code:

Bereich ("G1: J14")

Schritt 4: Nach Auswahl des Bereichs müssen wir einfügen. Setzen Sie also einen Punkt (.) Und wählen Sie Methode Einfügen Spezial.

Code:

Sub PasteSpecial_Example1 () Bereich ("A1: D14"). Kopierbereich ("G1: J14"). PasteSpecial End Sub

Schritt 5: Wählen Sie aus der Dropdown-Liste die Option "xlPasteValues".

Code:

Sub PasteSpecial_Example1 () Bereich ("A1: D14"). Kopierbereich ("G1: J14"). PasteSpecial xlPasteValues ​​End Sub

Schritt 6: Führen Sie diesen Code nun mit der Taste F5 oder manuell aus und sehen Sie, was passiert.

Unser Code hat also die Daten von A1 nach D14 kopiert und als Werte von G1 nach J14 eingefügt.

Es hat die Aufgabe der Excel-Tastenkombination im Arbeitsblatt ALT + E + S + V ausgeführt .

Beispiel 2 - Alle mit VBA PasteSpecial einfügen

Jetzt werden wir sehen, was passiert, wenn wir die Aufgabe von xlPasteAll ausführen.

Code:

Sub PasteSpecial_Example2() Range("A1:D14").Copy Range("G1:J14").PasteSpecial xlPasteAll End Sub

Now, if you run this code manually through the run option or by pressing the F5 key, we will have as it is data.

Example #3 - Paste Formats using VBA PasteSpecial Function

Now we will see how to paste only formats. The Below code would do the job for us.

Code:

Sub PasteSpecial_Example3() Range("A1:D14").Copy Range("G1:J14").PasteSpecial xlPasteFormats End Sub

If you run this code using the F5 key or manually, we will get the only format of the copied range, nothing else.

Example #4 - Paste Column Width using VBA Paste Special

Now we will see how to paste only column width from the copied range. For this, I have increased the column width for one of my data columns.

Apply the below code it will paste only the column width of the copied range.

Code:

Sub PasteSpecial_Example3() Range("A1:D14").Copy Range("G1:J14").PasteSpecial xlPasteColumnWidths End Sub

Run this code and see the difference in the column width.

Now we can see Sales column width has been increased to the column width of our copied range column.

Example #5 - Copy the Data from One Sheet to Another Sheet using VBA Paste Special Option

We have seen how to copy and paste the data on the same sheet. Now we will how to paste from one sheet to another sheet.

Step 1: Before we select the range, we need to tell from which sheet we need to select the data.

Code:

Sub PasteSpecial_Example5() Worksheets ("Sales Data") End Sub

Step 2: After selecting the sheet by its name, then we need to select the range in that sheet. The copy it.

Code:

Sub PasteSpecial_Example5() Worksheets("Sales Data").Range("A1:D14").Copy End Sub

The above code says in the sheet name “Sales Data” copy the Range, (“A1:D14”)

Step 3: Since we are pasting it in a different sheet, we need to select the sheet by its name.

Code:

Sub PasteSpecial_Example5() Worksheets("Sales Data").Range("A1:D14").Copy Worksheets ("Month Sheet") End Sub

Step 4: Now, in the sheet “Month Sheet,” select the range.

Code:

Sub PasteSpecial_Example5() Worksheets("Sales Data").Range("A1:D14").Copy Worksheets("Month Sheet").Range ("A1:D14") End Sub

Step 5: Using Paste special, we will be pasting values and format.

Code:

Sub PasteSpecial_Example5() Worksheets("Sales Data").Range("A1:D14").Copy Worksheets("Month Sheet").Range("A1:D14").PasteSpecial xlPasteValuesAndNumberFormats End Sub

Step 6: We are not only pasting values and format using VBA Paste Special, but we are pasting it as TRANSPOSE as well.

Code:

Sub PasteSpecial_Example5() Worksheets("Sales Data").Range("A1:D14").Copy Worksheets("Month Sheet").Range("A1:D14").PasteSpecial xlPasteValuesAndNumberFormats, Transpose:=True End Sub

Now run this code. It will copy and transpose the data to the “Month Sheet.”

Things to Remember About Excel VBA PasteSpecial Function

  • Wenn Sie Leerzeichen überspringen möchten, müssen Sie das Argument standardmäßig als TRUE eingeben. Es braucht FALSCH.
  • Wenn Sie die Daten transponieren möchten, müssen Sie die Transponierung als WAHR auswählen.
  • Wir können jeweils nur eine Paste speziell ausführen.

Interessante Beiträge...