VBA Copy Paste - Най-добрите начини за копиране и поставяне във VBA (с примери)

Копиране на поставяне във VBA е подобно на това, което правим в работен лист на Excel, като можем да копираме стойност и да я поставим в друга клетка, също така можем да използваме специална паста, за да поставим само стойностите, подобно на VBA използваме метода за копиране със свойството range копирайте стойност от една клетка в друга и за поставяне на стойността използваме функцията на работния лист, поставете специален или метод на поставяне.

Как да копирам поставяне във VBA?

По-долу са дадени някои примери за това как да копирате-поставите в Excel с помощта на VBA.

Основното нещо, което правим в Excel е да копираме, изрязваме и поставяме данните от една клетка в друга клетка. Не се изисква и специално въведение. Въпреки това, докато се учи VBA кодиране е важно да се разбере същата концепция в кодиращия език. Copy Paste във VBA е рутинната задача, която правим всеки ден в Excel. За да копираме първо, трябва да решим коя клетка да копираме.

Пример # 1 - Копиране и поставяне на стойности с помощта на Range Object

Да предположим, че имате думата „Excel VBA“ в клетката A1.

Да кажем, например, ако искате да копирате клетката A1, можем да използваме обекта VBA RANGE.

Код:

Sub Copy_Example () Диапазон ("A1"). Крайна под

В момента, в който препратите към клетката, ние можем да видим всички свойства и методи с нея. Затова изберете метода „ Копиране“.

Код:

Sub Copy_Example () Обхват ("A1"). Копиране Край Sub

След като изберете метода, натиснете клавиша за интервал, за да видите аргумента на метода Copy.

Пише Дестинация.

Това не е нищо, но къде искате да копирате и поставите стойности във VBA, без да изберете метода PASTE.

Ако поставяме в същия лист, можем да изберем клетката, като използваме обекта Range. Да кажем, че ако искаме да поставим стойността в клетка B3, можем да поставим местоназначението като „Обхват („ B3 “).“

Код:

Sub Copy_Example () Обхват ("A1"). Копиране на местоназначението: = Обхват ("B3") Край Sub

Това ще копира данните от клетка A1 и ще ги постави в клетка B3.

Също така можем да използваме метода по-долу за поставяне на данните.

Код:

Sub Copy_Example () Range ("A1"). Copy Range ("B3"). Изберете ActiveSheet.Paste End Sub

Първо ще копираме и изберем данните от клетка A1 и ще поставим в клетка B3.

Пример # 2 - Копирайте в друг работен лист в същата работна книга

Сега, ако искаме да копираме и поставим стойността от различните работни листове с помощта на макрос VBA, тогава в аргумента Destination трябва да се позовем на името на листа, като използваме обекта WORKSHEETS, след което да споменем диапазона от клетки в този WORKSHEET. Кодът по-долу ще свърши работа.

Код:

Sub Copy_Example () Диапазон ("A1"). Копиране на местоназначение: = Работни листове ("Sheet2"). Диапазон ("B3") Край Sub

Ако искаме да копираме данните от определен лист и искаме да ги поставим в друг конкретен лист, трябва да споменем и двете имена на листовете.

Първо трябва да споменем листа за копиране.

Работни листове ("Sheet1"). Диапазон ("A1"). Копиране

След това в аргумента Destination трябва да споменем името и обхвата на целевия работен лист на клетката.

Дестинация: = Работни листове ("Sheet2"). Обхват ("B3")

Така че кодът трябва да хареса това.

Код:

Sub Copy_Example () Работни листове ("Sheet1"). Обхват ("A1"). Копиране на местоназначението: = Работни листове ("Sheet2"). Обхват ("B3") Край Sub

Пример # 3 - Копиране от една работна книга в друга работна книга

Видяхме как да копираме от работен лист в друг работен лист в същата работна книга. Но можем да правим това и от една работна книга в друга работна книга.

Погледнете кода по-долу.

Код:

SubCopy_Example () Работни книги ("Книга 1.xlsx"). Работни листове ("Лист1"). Обхват ("А1"). Копирайте работни книги ("Книга 2.xlsx"). Активирайте ActiveWorkbook.Worksheets ("Лист 2"). Изберете ActiveSheet.Paste End Sub

Първо ще копира данните от работния лист „Sheet1“ в работната книга „Book1.xlsx“ от клетката 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 () Работни листове ("Sheet1"). UsedRange.Copy Destination: = Worksheets ("Sheet2"). Range ("A1") End Sub

Това ще копира целия използван диапазон в работния лист „Sheet1“ и ще го постави в работния лист „Sheet2“.

Интересни статии...