VBA Paste Special

Liknar kalkylbladet när vi kopierar en data och klistrar in den i ett annat cellintervall har vi en klistra in specialmetod som låter oss klistra in data som sig själv eller bara formlerna eller bara värdena och samma sätt som vi kan använda Klistra in Special i VBA 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 hjälp av 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 har vi också klistra in specialmetod för att klistra in kopierade data. Att kopiera sakerna i Excel är inte konstigt för Excel-användare, de kopierar, klistrar in och de flesta gånger använder de pasta speciellt för att tjäna sitt syfte på många sätt.

I vanlig excel innehåller pasta många alternativ som att bara klistra in värden, klistra in formler, klistra in format och 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 efter att vi har kopierat data klistrar vi in ​​dem 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 osv. Nedan är en fullständig lista med alternativ som finns tillgängliga under Klistra in.

Klistra in särskild operation: När du klistrar in vill du utföra alla typer av operationer som att lägga till, subtrahera, dela, multiplicera eller ingen.

  • [Hoppa över tomt]: Om du vill hoppa över tomt kan du välja SANT eller FALSKT.
  • [Transponera]: Om du vill transponera data kan du välja SANT eller FALSKT.

Exempel på klistra in special i Excel VBA

Följande är exempel på pasta special i VBA.

Du kan ladda ner VBA Paste Special Mall här - VBA Paste Special Mall

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 uppgifter du har i arknamnet som heter Försäljningsdata.

Nu kommer vi att utföra uppgiften att kopiera och klistra in med hjälp av flera klistra 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 gäller 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. Första referensområdet.

Koda:

Räckvidd ("G1: J14")

Steg 4: Efter att ha valt det intervall som vi behöver klistra in. Så sätt en punkt (.) Och välj Paste Special -metoden.

Koda:

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

Steg 5: Välj alternativet "xlPasteValues" i listrutan.

Koda:

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

Steg 6: Kör nu den här koden med F5-tangenten eller manuellt och se vad som händer.

Så vår kod kopierade data från A1 till D14 och klistrades in från G1 till J14 som värden.

Det har utfört uppgiften att genväg excel nyckeln i kalkylblad ALT + E + S + V .

Exempel # 2 - Klistra in alla med VBA PasteSpecial

Nu får vi se vad som händer om vi utför uppgiften xlPasteAll.

Koda:

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

Nu om du kör den här koden manuellt via köralternativet eller genom att trycka på F5-tangenten kommer vi att ha som det är data.

Exempel # 3 - Klistra in format med VBA PasteSpecial-funktion

Nu kommer vi att se hur man bara klistrar in format. Nedanstående kod skulle göra jobbet för oss.

Koda:

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

Om du kör den här koden med F5-tangenten eller manuellt får vi det enda formatet för det kopierade intervallet inget annat.

Exempel # 4 - Klistra in kolumnbredd med VBA Paste Special

Nu kommer vi att se hur man bara klistrar in kolumnbredd från det kopierade intervallet. För detta har jag ökat kolumnbredden för en av mina datakolumner.

Använd under koden, det klistrar bara in kolumnbredden i det kopierade intervallet.

Koda:

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

Kör den här koden och se skillnaden i kolumnbredd.

Nu kan vi se Försäljningskolumnbredden har ökats till kolumnbredden i vår kopierade intervallkolumn.

Exempel # 5 - Kopiera data från ett ark till ett annat ark med hjälp av VBA Paste Special Option

Vi har sett hur man kopierar och klistrar in data på samma ark. Nu kommer vi att klistra in från ett ark till ett annat ark.

Steg 1: Innan vi väljer intervallet måste vi berätta från vilket ark vi behöver för att välja data.

Koda:

 Sub PasteSpecial_Example5 () Arbetsblad ("Sales Data") Slut Sub 

Steg 2: När du har valt arket med dess namn måste vi välja intervallet i det arket. Kopiera det.

Koda:

 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.