VBA kopiera klistra in - Bästa sätten att kopiera och klistra in i VBA (med exempel)

Innehållsförteckning

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 också kan vi använda klistra in special för att bara klistra in 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 och klistrar 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 nr 1 - Kopiera och klistra in värden med hjälp av intervallobjekt

Antag att du har ordet "Excel VBA" i cellen A1.

Låt oss till exempel säga att 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, tryck på mellanslagstangenten för att se argumentet för kopieringsmetoden.

Det står Destination.

Detta är ingenting, men 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 sätta målet 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

Nu, om vi 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 bladnamnet med hjälp av WORKSHEETS-objektet och sedan nämna cellintervallet 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:

SubCopy_Example () Arbetsböcker ("Book 1.xlsx"). Kalkylblad ("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.

Workbooks("Book 1.xlsx").Worksheets("Sheet1").Range("A1").Copy”

Then it will activate the workbook “Book 2.xlsx”.

Workbooks("Book 2.xlsx").Activate

In the active workbook, it will select the worksheet “Sheet 2.”

ActiveWorkbook.Worksheets("Sheet 2").Select

Now in the active sheet, it will paste.

ActiveSheet.Paste

Alternative Way for using Copy-Paste in VBA

We have one more alternative way of having the data from one cell to another cell. Assume you have the word “Excel VBA” in the cell A1 and you need the same to come in cell B3.

One method we have seen is using the VBA copy and paste method. Now I will show you one of the alternative ways. Look at the below piece of code to understand.

Code:

Sub Copy_Example1() Range("A1").Value = Range("B3").Value End Sub

The above says whatever the value is there in the cell A1 should be equal to the value in the cell B3.

Range("A1").Value = Range("B3").Value

Even though this is not a copy and paste method still adds more value to our coding knowledge.

Top Ways of VBA Copy and Paste as Values

Now we will see different ways of VBA copy and paste values. Assume you are in the cell A1 as shown in the below image.

  • 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 () Kalkylblad ("Sheet1"). UsedRange.Copy Destination: = Kalkylblad ("Sheet2"). Range ("A1") End Sub

Detta kommer att kopiera hela det använda intervallet i kalkylbladet "Sheet1" och klistra in detsamma i kalkylbladet "Sheet2."

Intressanta artiklar...