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 MallExempel # 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.