Kopiera klistra in i VBA

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-mall

Antag 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”