Kopiera klistra in i VBA liknar det vi gör i Excel-kalkylbladet, som om vi kan kopiera ett värde och klistra in det i en annan cell kan vi också använda klistra in special för att klistra in bara värdena, på samma sätt i VBA använder vi kopieringsmetoden med intervallegenskap till kopiera ett värde från en cell till en annan och för att klistra in värdet använder vi kalkylbladets funktion klistra in special eller klistra in metoden.
Hur kopierar man klistra in i VBA?
Nedan följer några exempel på hur man kopierar klistra in i Excel med VBA.
Det grundläggande vi gör i Excel är att vi kopierar, vi klipper och klistrar in data från en cell till en annan cell. Det kräver ingen speciell introduktion också. Men medan du lär dig VBA-kodning är det viktigt att förstå samma koncept i kodningsspråket. Kopiera klistra in i VBA är den rutinmässiga uppgift vi gör dag för dag i Excel. För att kopiera först måste vi bestämma vilken cell som ska kopieras.
Exempel # 1 - Kopiera och klistra in värden med intervallobjekt
Du kan ladda ner denna VBA Copy Paste Excel-mall här - VBA Copy Paste Excel-mallAntag att du har ordet "Excel VBA" i cellen A1.
Låt oss till exempel säga om du vill kopiera cellen A1 kan vi använda VBA RANGE-objektet.
Koda:
Sub Copy_Example () Range ("A1"). Avsluta sub
När du refererar till cellen kan vi se alla egenskaper och metoder med den. Så välj metoden " Kopiera ".
Koda:
Sub Copy_Example () Range ("A1"). Copy End Sub
När du har valt metoden trycker du på mellanslagstangenten för att se argumentet för kopieringsmetoden.
Det står Destination.
Detta är inget annat än var vill du kopiera och klistra in värden i VBA utan att välja PASTE-metoden.
Om vi klistrar in i samma ark kan vi välja cellen med hjälp av Range-objektet. Låt oss säga att om vi vill klistra in värdet i B3-cellen kan vi ange destinationen som "Range (" B3 ")" .
Koda:
Sub Copy_Example () Range ("A1"). Copy Destination: = Range ("B3") End Sub
Detta kommer att kopiera data från cell A1 och klistra in i cell B3.
Vi kan också använda metoden nedan för att klistra in data.
Koda:
Sub Copy_Example () Range ("A1"). Copy Range ("B3") Välj ActiveSheet. Klistra in End Sub
Först kommer vi att kopiera och välja data från cell A1 och klistra in i cell B3.
Exempel # 2 - Kopiera till ett annat kalkylblad i samma arbetsbok
Om vi nu vill kopiera och klistra in värdet från de olika kalkylbladen med hjälp av VBA-makro, måste vi i Destination-argumentet referera till arknamnet med hjälp av WORKSHEETS-objektet och nämna sedan cellområdet i det WORKSHEET. Koden nedan kommer att göra jobbet.
Koda:
Sub Copy_Example () Range ("A1"). Copy Destination: = Worksheets ("Sheet2"). Range ("B3") End Sub
Om vi vill kopiera data från ett visst ark och vill klistra in ett annat särskilt ark, måste vi nämna båda namnen på arken.
Först måste vi nämna kopieringsbladet.
Kalkylblad ("Sheet1"). Område ("A1"). Kopiera
Sedan i Destination-argumentet måste vi nämna det riktade kalkylbladets namn och cellintervall.
Destination: = Kalkylblad ("Sheet2"). Område ("B3")
Så koden borde gilla detta.
Koda:
Sub Copy_Example () Kalkylblad ("Sheet1"). Range ("A1"). Copy Destination: = Worksheets ("Sheet2"). Range ("B3") End Sub
Exempel # 3 - Kopiera från en arbetsbok till en annan arbetsbok
Vi har sett hur man kopierar från kalkylblad till ett annat kalkylblad i samma arbetsbok. Men vi kan också göra detta från en arbetsbok till en annan arbetsbok.
Ta en titt på koden nedan.
Koda:
Sub Copy_Example () Arbetsböcker ("Book 1.xlsx"). Arbetsblad ("Sheet1"). Område ("A1"). Kopiera Workbooks ("Book 2.xlsx"). Aktivera ActiveWorkbook.Worksheets ("Sheet 2"). Välj ActiveSheet.Paste End Sub
Först kommer den att kopiera data från kalkylbladet "Sheet1" i arbetsboken "Book1.xlsx" från cellen A1.
" Arbetsböcker (" Bok 1.xlsx "). Kalkylblad (" Ark1 "). Område (" A1 "). Kopiera"
Då aktiveras arbetsboken ”Book 2.xlsx”.
Arbetsböcker ("Bok 2.xlsx"). Aktivera
I den aktiva arbetsboken kommer den att välja kalkylbladet "Ark 2"
ActiveWorkbook.Worksheets ("Sheet 2"). Välj
Nu i det aktiva arket klistras det in
ActiveSheet.Paste
Alternativt sätt att använda Copy Paste i VBA
Vi har ytterligare ett alternativt sätt att ha data från en cell till en annan cell. Antag att du har ordet "Excel VBA" i cellen A1 och att du behöver samma för att komma i cell B3.
En metod vi har sett är att använda VBA-kopierings- och klistra-metoden, nu visar jag dig ett av de alternativa sätten. Titta på nedanstående kod för att förstå.
Koda:
Sub Copy_Example1 () Range ("A1"). Value = Range ("B3"). Value End Sub
Ovanstående säger vad som helst i cellen A1 ska vara lika med värdet i cellen B3.
Område ("A1"). Värde = Område ("B3"). Värde
Även om detta inte är en kopierings- och klistra-metod tillför vi fortfarande mer värde till vår kodkunskap.
De bästa sätten att VBA kopiera och klistra in som värden
Nu ser vi olika sätt att VBA kopiera och klistra in värden. Antag att du befinner dig i cellen A1 som visas i bilden nedan.
- If we want to copy and paste we need to reference the cell here, rather we can just use a property of Selection. Copy method.
Code:
Sub Copy_Example1() Selection.Copy Destination:=Range("B3") End Sub
OR
Sub Copy_Example1() ActiveCell.Copy Destination:=Range("B3") End Sub
- If you want to copy the entire used range of the worksheet you can use the below code.
Code:
Sub Copy_Example2() Worksheets("Sheet1").UsedRange.Copy Destination:=Worksheets("Sheet2").Range("A1") End Sub
This will copy the entire used range in the worksheet “Sheet1” and will paste the same in the worksheet “Sheet2”