VBA Kopiuj Wklej - Najlepsze sposoby kopiowania i wklejania w VBA (z przykładami)

Kopiowanie wklejania w VBA jest podobne do tego, co robimy w arkuszu programu Excel, na przykład możemy skopiować wartość i wkleić ją do innej komórki, możemy również użyć wklejania specjalnego, aby wkleić tylko wartości, podobnie w VBA używamy metody kopiowania z właściwością zakresu do skopiuj wartość z jednej komórki do drugiej i aby wkleić wartość, używamy funkcji arkusza wklej specjalną lub wklej metodę.

Jak skopiować wklej w VBA?

Poniżej znajduje się kilka przykładów kopiowania i wklejania w programie Excel za pomocą VBA.

Podstawową rzeczą, którą robimy w programie Excel, jest kopiowanie, wycinanie i wklejanie danych z jednej komórki do drugiej. Nie wymaga też specjalnego wprowadzenia. Jednak podczas nauki kodowania VBA ważne jest, aby zrozumieć tę samą koncepcję w języku kodowania. Kopiuj wklej w VBA to rutynowe zadanie, które wykonujemy każdego dnia w programie Excel. Aby skopiować najpierw, musimy zdecydować, którą komórkę skopiować.

Przykład 1 - Kopiuj i wklej wartości za pomocą obiektu Range

Załóżmy, że w komórce A1 znajduje się słowo „Excel VBA”.

Powiedzmy na przykład, że jeśli chcesz skopiować komórkę A1, możemy użyć obiektu VBA RANGE.

Kod:

Sub Copy_Example () Range („A1”). Napis końcowy

W momencie, gdy odwołujesz się do komórki, możemy zobaczyć wszystkie jej właściwości i metody. Wybierz metodę „ Kopiuj”.

Kod:

Sub Copy_Example () Range („A1”). Copy End Sub

Po wybraniu metody naciśnij klawisz spacji, aby wyświetlić argument metody Copy.

Mówi o przeznaczeniu.

To nic, ale gdzie chcesz skopiować i wkleić wartości w VBA bez wybierania metody WKLEJ.

Jeśli wklejamy w tym samym arkuszu, możemy zaznaczyć komórkę za pomocą obiektu Range. Powiedzmy, że jeśli chcemy wkleić wartość do komórki B3, możemy umieścić miejsce docelowe jako „Zakres („ B3 ”)”.

Kod:

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

Spowoduje to skopiowanie danych z komórki A1 i wklejenie do komórki B3.

Możemy również użyć poniższej metody, aby wkleić dane.

Kod:

Sub Copy_Example () Range („A1”). Copy Range („B3”). Wybierz ActiveSheet.Paste End Sub

Najpierw skopiujemy i wybierzemy dane z komórki A1 i wkleimy do komórki B3.

Przykład 2 - Skopiuj do innego arkusza w tym samym skoroszycie

Teraz, jeśli chcemy skopiować i wkleić wartość z różnych arkuszy roboczych za pomocą makra VBA, to w argumencie Destination musimy odwołać się do nazwy arkusza za pomocą obiektu WORKSHEETS, a następnie podać zakres komórek w tym WORKSHEETS. Poniższy kod wykona zadanie.

Kod:

Sub Copy_Example () Range („A1”). Copy Destination: = Worksheets („Sheet2”). Range („B3”) End Sub

Jeśli chcemy skopiować dane z konkretnego arkusza i wkleić do innego konkretnego arkusza, musimy wspomnieć obie nazwy arkuszy.

Najpierw musimy wspomnieć o arkuszu do kopiowania.

Arkusze („Arkusz1”). Zakres („A1”). Kopiuj

Następnie w argumencie Miejsce docelowe musimy wspomnieć o docelowej nazwie arkusza roboczego i zakresie komórki.

Destination:=Worksheets("Sheet2").Range("B3")

So the code should like this.

Code:

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

Example #3 - Copy from One Workbook to another Workbook

We have seen how to copy from worksheet to another worksheet in the same workbook. But we can also do this from one workbook to another workbook.

Take a look at the below code.

Code:

SubCopy_Example() Workbooks("Book 1.xlsx").Worksheets("Sheet1").Range("A1").Copy Workbooks("Book 2.xlsx").Activate ActiveWorkbook.Worksheets("Sheet 2").Select ActiveSheet.Paste End Sub

Firstly it will copy the data from the worksheet “Sheet1” in the workbook “Book1.xlsx” from the cell 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 () Worksheets ("Sheet1"). UsedRange.Copy Destination: = Worksheets ("Sheet2"). Range ("A1") End Sub

Spowoduje to skopiowanie całego użytego zakresu z arkusza „Arkusz1” i wklejenie go w arkuszu „Arkusz2”.

Interesujące artykuły...