VBA Paste Special - Top 5 måder at bruge VBA PasteSpecial funktion på?

Indholdsfortegnelse

Svarende til regneark, når vi kopierer data og indsætter dem i et andet celleområde, har vi en indsætningsmetode, der giver os mulighed for at indsætte dataene som sig selv eller kun formlerne eller kun værdierne og den samme måde, som vi kan bruge Paste Special i VBA ved hjælp af rækkeviddeegenskabsmetoden som følger rækkevidde. indsæt special () med den type, vi vil have i parenteserne.

Indsæt specielt i VBA

Paste Special i Excel tjener på mange måder i vores daglige arbejde. Ved hjælp af pasta special kan vi gøre mange flere ting end de sædvanlige. Copy & paste er der overalt i computerverdenen. Men indsæt speciel er den avancerede ting i Excel.

Som almindelig excel-pasta speciel i VBA har vi også en speciel metode til at indsætte de kopierede data. Kopiering af tingene i excel er ikke en underlig ting for excel-brugere, de kopierer, indsætter, og det meste af tiden bruger de pasta specielt til at tjene deres formål på mange måder.

I almindelig excel indeholder pasta mange muligheder som kun at indsætte værdier, indsætte formler, indsætte formater osv. …

Indsæt special skal også indsættes, betjene, springe tomme emner over og transponere sådan i VBA. Vi har alle parametre med Paste Special- metoden.

Formlen af ​​pasta speciel i VBA

Nedenfor er formlen for Paste Special i VBA

Indsæt speciel er tilgængelig med VBA Range-objekt, fordi efter kopiering af data indsætter vi det i celleområdet, så indsæt specialmetode er tilgængelig med intervalobjekt .

Indsætningstype: Hvordan vil du indsætte efter kopiering af dataene? Uanset om du vil indsætte værdier, formler, formater, validering osv … Nedenfor er den komplette liste over muligheder, der er tilgængelige under Indsæt type.

Indsæt speciel handling: Vil du udføre enhver form for operationer, mens du klistrer ind, f.eks. Tilføje, trække fra, opdele, multiplikere eller ingen.

  • (Spring blanke over): Hvis du vil springe blanke over, kan du vælge SAND eller FALSK.
  • (Transponere): Hvis du vil transponere dataene, kan du vælge SAND eller FALSK.

Eksempler på Paste Special i Excel VBA

Følgende er eksempler på pasta speciel i VBA.

Eksempel # 1 - Indsæt kun værdier ved hjælp af VBA PasteSpecial-funktion

I det første eksempel udfører vi kun at indsætte værdier ved hjælp af indsæt special. Antag nedenfor er de data, du har i arknavnet kaldet salgsdata.

Nu udfører vi opgaven med at kopiere og indsætte ved hjælp af flere specielle metoder til at indsætte. Følg nedenstående trin.

Trin 1: Opret først et makronavn.

Trin 2: Kopier først området A1 til D14 fra arknavnet "Salgsdata". For at kopiere området skal du anvende nedenstående kode.

Kode:

Område ("A1: D14"). Kopiér

Trin 3: Efter kopiering af data indsætter vi værdierne fra G1 til J14. Først skal du referere til området.

Kode:

Rækkevidde ("G1: J14")

Trin 4: Efter at have valgt området skal vi indsætte. Så sæt en prik (.) Og vælg Indsæt speciel metode.

Kode:

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

Trin 5: Fra rullelisten skal du vælge indstillingen "xlPasteValues."

Kode:

Sub PasteSpecial_Example1 () Range ("A1: D14"). Copy Range ("G1: J14"). PasteSpecial xlPasteValues ​​End Sub

Trin 6: Kør nu denne kode ved hjælp af F5-tasten eller manuelt og se hvad der sker.

Så vores kode kopierede dataene fra A1 til D14 og indsattes fra G1 til J14 som værdier.

Det har udført opgaven med genvej excel nøglen i regneark ALT + E + S + V .

Eksempel # 2 - Indsæt alt ved hjælp af VBA PasteSpecial

Nu ser vi, hvad der sker, hvis vi udfører opgaven med xlPasteAll.

Kode:

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

  • Hvis du vil springe tomme emner over, skal du som standard angive argumentet som SAND. Det tager FALSK.
  • Hvis du vil transponere dataene, skal vi vælge transponering som SAND.
  • Vi kan kun udføre en pasta-special ad gangen.

Interessante artikler...