VBA Copy Paste - Cele mai bune moduri de a copia și lipi în VBA (cu exemple)

Copierea și lipirea în VBA este similară cu ceea ce facem în foaia de lucru Excel, de exemplu, putem copia o valoare și o putem lipi într-o altă celulă, de asemenea, putem folosi lipire specială pentru a lipi doar valorile, în mod similar în VBA folosim metoda de copiere cu proprietatea intervalului la copiați o valoare dintr-o celulă în alta și pentru a lipi valoarea folosim funcția foaie de lucru paste special sau metodă de lipire.

Cum se copiază lipiți în VBA?

Mai jos sunt câteva exemple despre cum să copiați-lipiți în Excel folosind VBA.

Lucrul de bază pe care îl facem în Excel este că copiem, tăiem și lipim datele de la o celulă la alta. Nu necesită nici o introducere specială. Cu toate acestea, în timp ce învățați codarea VBA este important să înțelegeți același concept în limbajul de codare. Copierea și lipirea în VBA este sarcina de rutină pe care o facem zi de zi în Excel. Pentru a copia mai întâi, trebuie să decidem ce celulă să copiem.

Exemplul # 1 - Copiați și lipiți valorile utilizând obiectul Range

Să presupunem că aveți cuvântul „Excel VBA” în celula A1.

Să spunem, de exemplu, dacă doriți să copiați celula A1 putem folosi obiectul VBA RANGE.

Cod:

Sub Copiere_Exemplu () Interval ("A1"). Sfârșitul Sub

În momentul în care faceți referire la celulă, putem vedea toate proprietățile și metodele cu aceasta. Așa că selectați metoda „ Copiere”.

Cod:

Sub Copiere_Exemplu () Interval ("A1")

După selectarea metodei, apăsați tasta spațiu pentru a vedea argumentul metodei de copiere.

Se spune Destinație.

Aceasta nu este nimic, dar unde doriți să copiați și să inserați valori în VBA fără a selecta metoda PASTE.

Dacă lipim în aceeași foaie, putem selecta celula folosind obiectul Range. Să spunem că dacă dorim să lipim valoarea în celula B3, putem pune destinația ca „Range („ B3 ”).”

Cod:

Sub Copy_Example () Range ("A1"). Copy Destination: = Range ("B3") End Sub

Aceasta va copia datele din celula A1 și le va lipi în celula B3.

De asemenea, putem folosi metoda de mai jos pentru a lipi datele.

Cod:

Sub Copy_Example () Range ("A1"). Copy Range ("B3"). Selectați ActiveSheet.Paste End Sub

Mai întâi, vom copia și selecta datele din celula A1 și le vom lipi în celula B3.

Exemplul # 2 - Copiați într-o altă foaie de lucru din același registru de lucru

Acum, dacă dorim să copiăm și să lipim valoarea din diferitele foi de lucru folosind macrocomanda VBA, atunci în argumentul Destinație, trebuie să facem referire la numele foii folosind obiectul WORKSHEETS, apoi menționăm gama de celule din acea FIȘĂ DE LUCRU. Codul de mai jos va face treaba.

Cod:

Sub Copy_Example () Range ("A1"). Copy Destination: = Foi de lucru ("Sheet2"). Range ("B3") End Sub

Dacă dorim să copiem datele dintr-o anumită foaie și dorim să lipim într-o altă foaie anume, trebuie să menționăm ambele nume ale foilor.

În primul rând, trebuie să menționăm foaia de copiere.

Fișe de lucru („Sheet1”). Range („A1”). Copiați

Apoi, în argumentul Destinație, trebuie să menționăm numele foii de lucru vizate și intervalul celulei.

Destinație: = foi de lucru („Sheet2"). Range („B3")

Deci, codului ar trebui să îi placă asta.

Cod:

Sub Copy_Example () Foi de lucru ("Sheet1"). Range ("A1"). Copy Destination: = Worksheets ("Sheet2"). Range ("B3") End Sub

Exemplul # 3 - Copiați dintr-un registru de lucru într-un alt registru de lucru

Am văzut cum să copiem din foaia de lucru într-o altă foaie de lucru din același registru de lucru. Dar putem face acest lucru și de la un registru de lucru la altul.

Aruncați o privire la codul de mai jos.

Cod:

SubCopy_Example () Cărți de lucru ("Cartea 1.xlsx"). Fișe de lucru ("Foaie1"). Interval ("A1"). Copiați cărțile de lucru ("Cartea 2.xlsx"). Activați ActiveWorkbook.Worksheets ("Foaia 2"). Selectați ActiveSheet.Paste End Sub

În primul rând, va copia datele din foaia de lucru „Sheet1” din registrul de lucru „Book1.xlsx” din celula 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 () Foi de lucru ("Sheet1"). UsedRange.Copy Destination: = Foi de lucru ("Sheet2"). Range ("A1") End Sub

Aceasta va copia întregul interval utilizat în foaia de lucru „Foaia1” și va lipi același lucru în foaia de lucru „Foaia2”.

Articole interesante...