Kopiuj Wklej w VBA

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 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 na co dzień w programie Excel. Aby skopiować najpierw, musimy zdecydować, którą komórkę skopiować.

Przykład 1 - kopiowanie i wklejanie wartości za pomocą obiektu Range

Możesz pobrać ten szablon VBA Kopiuj wklej wklej Excel tutaj - VBA Kopiuj Wklej szablon Excel

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 odniesienia się do komórki możemy zobaczyć wszystkie właściwości i metody z nią związane. Wybierz metodę „ Kopiuj ”.

Kod:

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

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

Mówi o przeznaczeniu.

To nic innego jak miejsce, w którym 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ść w komórce B3, możemy umieścić cel 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 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.

Miejsce docelowe: = Arkusze robocze („Arkusz2”). Zakres („B3”)

Więc kod powinien wyglądać tak.

Kod:

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

Przykład # 3 - Kopiuj z jednego skoroszytu do innego skoroszytu

Widzieliśmy, jak skopiować z arkusza roboczego do innego arkusza roboczego w tym samym skoroszycie. Ale możemy to również zrobić z jednego skoroszytu do innego skoroszytu.

Spójrz na poniższy kod.

Kod:

 Sub Copy_Example () Skoroszyty („Książka 1.xlsx”). Arkusze („Arkusz1”). Zakres („A1”). Kopiowanie skoroszytów („Książka 2.xlsx”). Aktywuj ActiveWorkbook.Worksheets („Arkusz 2”). Wybierz ActiveSheet.Paste End Sub 

Najpierw skopiuje dane z arkusza „Arkusz1” w skoroszycie „Książka1.xlsx” z komórki A1.

Skoroszyty („ Książka 1.xlsx ”). Arkusze („ Arkusz1 ”). Zakres („ A1 ”). Kopia”

Następnie aktywuje skoroszyt „Book 2.xlsx”.

Skoroszyty („Książka 2.xlsx”). Aktywuj

W aktywnym skoroszycie wybierze arkusz „Arkusz 2”

ActiveWorkbook.Worksheets („Arkusz 2”). Wybierz

Teraz w aktywnym arkuszu wklei

ActiveSheet.Paste

Alternatywny sposób używania opcji Kopiuj wklej w VBA

Mamy jeszcze jeden alternatywny sposób przenoszenia danych z jednej komórki do drugiej. Załóżmy, że masz słowo „Excel VBA” w komórce A1 i potrzebujesz go w komórce B3.

Jedną z metod, które widzieliśmy, jest użycie metody kopiowania i wklejania VBA, teraz pokażę ci jeden z alternatywnych sposobów. Spójrz na poniższy fragment kodu, aby zrozumieć.

Kod:

 Sub Copy_Example1 () Range („A1”). Value = Range („B3”). Value End Sub 

Powyższe mówi, że jakakolwiek wartość znajduje się w komórce A1, powinna być równa wartości w komórce B3.

Zakres („A1”). Wartość = Zakres („B3”). Wartość

Mimo że nie jest to metoda kopiowania i wklejania, nadal zwiększa wartość naszej wiedzy o kodowaniu.

Najważniejsze sposoby kopiowania i wklejania VBA jako wartości

Teraz zobaczymy różne sposoby kopiowania i wklejania wartości VBA. Załóżmy, że jesteś w komórce A1, jak pokazano na poniższym obrazku.

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