VBA-plak speciaal

Vergelijkbaar met een werkblad wanneer we gegevens kopiëren en in een ander celbereik plakken, hebben we een speciale methode voor plakken waarmee we de gegevens als zichzelf kunnen plakken of alleen de formules of alleen de waarden en op dezelfde manier kunnen we Plakken speciaal in VBA gebruiken met de bereikeigenschapmethode als volgt bereik. plak speciaal () met het gewenste type tussen haakjes.

Plak speciaal in VBA

Plakken Speciaal in Excel dient op veel manieren in ons dagelijks werk. Met speciale pasta kunnen we veel meer dingen doen dan de gebruikelijke. Kopiëren en plakken is overal in de computerwereld aanwezig. Maar speciaal plakken is het geavanceerde in Excel.

Net als bij gewone Excel-plakken speciaal in VBA, hebben we ook een speciale methode om de gekopieerde gegevens te plakken. Het kopiëren van de dingen in Excel is niet vreemd voor Excel-gebruikers, ze kopiëren, plakken en meestal gebruiken ze speciale plakken om hun doel op veel manieren te dienen.

In gewone Excel bevat plakken veel opties zoals alleen waarden plakken, formules plakken, formaten plakken en etc ...

Plakken speciaal moeten Plakken, Bediening, Spaties overslaan en Transponeren zoals dit ook in VBA, we hebben alle parameters met de methode Plakken speciaal .

De formule van Plakken speciaal in VBA

Hieronder vindt u de formule voor plakken speciaal in VBA

Plakken speciaal is verkrijgbaar met VBA Range object, want na het kopiëren van de gegevens zullen we worden plakken in de cel bereik zo plakken speciale methode is verkrijgbaar met range object.

Plaktype: na het kopiëren van de gegevens, hoe wilt u plakken. Of u waarden, formules, formaten, validatie, enz. Wilt plakken. Hieronder vindt u de volledige lijst met beschikbare opties onder Type plakken.

Speciale bewerking plakken: wilt u tijdens het plakken alle soorten bewerkingen uitvoeren, zoals optellen, aftrekken, delen, vermenigvuldigen of geen.

  • [Spaties overslaan]: Als u spaties wilt overslaan, kunt u TRUE of FALSE kiezen.
  • [Transpose]: Als u de data wilt transponeren, kunt u TRUE of FALSE kiezen.

Voorbeelden van Plakken speciaal in Excel VBA

Hieronder volgen de voorbeelden van speciale pasta in VBA.

U kunt deze VBA-sjabloon voor plakken speciaal hier downloaden - VBA-sjabloon voor plakken speciaal

Voorbeeld # 1 - Plak alleen waarden met behulp van VBA PasteSpecial Function

In het eerste voorbeeld zullen we alleen waarden plakken met plakken speciaal. Stel dat hieronder de gegevens zijn die u in de bladnaam met de naam Verkoopgegevens hebt.

Nu zullen we de taak van kopiëren en plakken uitvoeren met behulp van verschillende speciale plakmethoden. Volg onderstaande stappen.

Stap 1: Maak eerst een macronaam.

Stap 2: Kopieer eerst het bereik A1 tot D14 van bladnaam “Verkoopgegevens”. Gebruik onderstaande code om het bereik te kopiëren.

Code: 

Bereik ("A1: D14"). Kopiëren

Stap 3: Na het kopiëren van de gegevens zullen we de waarden van G1 naar J14 plakken. Verwijs eerst naar het bereik.

Code:

Bereik ("G1: J14")

Stap 4: Nadat we het bereik hebben geselecteerd, moeten we plakken. Plaats dus een punt (.) En selecteer de methode Plakken speciaal.

Code:

 Sub PlakSpecial_Example1 () Bereik ("A1: D14"). Kopieerbereik ("G1: J14"). PlakkenSpeciaal End Sub 

Stap 5: Selecteer in de vervolgkeuzelijst de optie “xlPasteValues”.

Code:

 Sub PlakkenSpecial_Example1 () Bereik ("A1: D14"). Kopieerbereik ("G1: J14"). PlakkenSpecial xlPasteValues ​​End Sub 

Stap 6: Voer deze code nu uit met de F5-toets of handmatig en kijk wat er gebeurt.

Dus onze code heeft de gegevens van A1 naar D14 gekopieerd en als waarden van G1 naar J14 geplakt.

Het heeft de taak van de sneltoets Excel-toets in het werkblad ALT + E + S + V uitgevoerd .

Voorbeeld # 2 - Plak alles met VBA PasteSpecial

Nu zullen we zien wat er gebeurt als we de taak van xlPasteAll uitvoeren.

Code:

 Sub PlakSpecial_Example2 () Bereik ("A1: D14"). Kopieerbereik ("G1: J14"). PlakkenSpecial xlPasteAll End Sub 

Als u deze code nu handmatig uitvoert via de optie Uitvoeren of door op de F5-toets te drukken, hebben we zoals het gegevens zijn.

Voorbeeld # 3 - Plak formaten met behulp van VBA PasteSpecial Function

Nu zullen we zien hoe we alleen formaten kunnen plakken. De onderstaande code zou het werk voor ons doen.

Code:

 Sub PasteSpecial_Example3 () Bereik ("A1: D14"). Kopieerbereik ("G1: J14"). PasteSpecial xlPasteFormats End Sub 

Als u deze code uitvoert met de F5-toets of handmatig, krijgen we het enige formaat van het gekopieerde bereik niets anders.

Voorbeeld # 4 - Kolombreedte plakken met VBA Plakken speciaal

Nu zullen we zien hoe we alleen de kolombreedte uit het gekopieerde bereik kunnen plakken. Hiervoor heb ik de kolombreedte vergroot voor een van mijn gegevenskolommen.

Pas onderstaande code toe, het zal alleen de kolombreedte van het gekopieerde bereik plakken.

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 the 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 “Month Sheet”.

Things to Remember About Excel VBA PasteSpecial Function

  • If you want to skip blanks you need to enter the argument as TRUE by default it takes FALSE.
  • If you want to transpose the data we need to select the transpose as TRUE.
  • We can perform only one paste special at a time.