Liknar kalkylbladet när vi kopierar en data och klistrar in den i ett annat cellområde har vi en klistra in specialmetod som gör att vi kan klistra in data som sig själva eller bara formlerna eller bara värdena och samma sätt som vi kan använda Klistra in Special i VBA med intervallegenskapsmetoden enligt följande intervall. klistra in special () med den typ vi vill ha inom parentes.
Klistra in special i VBA
Paste Special i Excel tjänar på många sätt i vårt dagliga arbete. Med pasta special kan vi göra många fler saker än de vanliga. Copy & paste finns överallt i datorvärlden. Men klistra in special är det avancerade i Excel.
Liksom vanlig Excel-klistra special i VBA också har vi klistra in specialmetod för att klistra in kopierade data. Att kopiera sakerna i Excel är inte en konstig sak för Excel-användare, de kopierar, klistrar in och för det mesta använder de pasta speciellt för att tjäna sitt syfte på många sätt.

I vanlig excel innehåller klistra många alternativ som att bara klistra in värden, klistra in formler, klistra in format etc.

Klistra in special måste klistra in, hantera, hoppa över tomrum och transponera så här i VBA också. Vi har alla parametrar med Paste Special- metoden.
Formeln för Paste Special i VBA
Nedan är Formeln för Paste Special i VBA

Klistra in special är tillgängligt med VBA Range-objekt eftersom vi efter att ha kopierat data klistrar in det i cellområdet, så klistra in specialmetoden är tillgänglig med intervallobjekt .
Klistra in typ: När du har kopierat data, hur vill du klistra in. Oavsett om du vill klistra in värden, formler, format, validering, etc … Nedan är en fullständig lista med alternativ som finns tillgängliga under Klistra in.

Klistra in särskild operation: Vill du utföra någon form av operationer som att lägga till, subtrahera, dela, multiplicera eller ingen medan du klistrar in.

- (Hoppa över tomrum): Om du vill hoppa över tomrum kan du välja SANT eller FALSKT.
- (Transponera): Om du vill transponera data kan du välja SANT eller FALSE.
Exempel på klistra in special i Excel VBA
Följande är exempel på pasta special i VBA.
Exempel # 1 - Klistra in endast värden med VBA PasteSpecial-funktion
I det första exemplet kommer vi bara att klistra in värden med hjälp av klistra in special. Antag att nedan är de data du har i arknamnet som heter Försäljningsdata.

Nu kommer vi att utföra uppgiften att kopiera och klistra in med flera klistra in specialmetoder. Följ stegen nedan.
Steg 1: Skapa först ett makronamn.

Steg 2: Kopiera först intervallet A1 till D14 från arknamnet "Försäljningsdata." För att kopiera intervallet, använd nedanstående kod.
Koda:
Område ("A1: D14"). Kopiera

Steg 3: Efter att ha kopierat data klistrar vi in värdena från G1 till J14. Hänvisa först till intervallet.
Koda:
Räckvidd ("G1: J14")

Step 4: After selecting the range, we need to paste. So put a dot (.) and select Paste Special method.
Code:
Sub PasteSpecial_Example1() Range("A1:D14").Copy Range("G1:J14").PasteSpecial End Sub

Step 5: From the drop-down list, select the option “xlPasteValues.”
Code:
Sub PasteSpecial_Example1() Range("A1:D14").Copy Range("G1:J14").PasteSpecial xlPasteValues End Sub

Step 6: Now run this code using the F5 key or manually and see what happens.

So our code copied the data from A1 to D14 and pasted from G1 to J14 as values.
It has performed the task of shortcut excel key in worksheet ALT + E + S + V.

Example #2 - Paste All using VBA PasteSpecial
Now we will see what happens if we perform the task of xlPasteAll.
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
- Om du vill hoppa över tomma punkter måste du ange argumentet som SANT som standard. Det tar FALSE.
- Om du vill transponera data, måste vi välja transponeringen som SANT.
- Vi kan bara utföra en klistra special åt gången.