Вставяне на Excel VBA
Има три различни начина за поставяне на някои данни от място на друго в работен лист с помощта на VBA, първият метод е обикновено да се препращат стойностите от една клетка към друга клетка с помощта на оператора за присвояване, друг метод е с помощта на функцията за поставяне и трети метод е с помощта на пастеспециалната функция.
Копирането и поставянето е най-често срещаното нещо, което правим всеки ден на работното си място. В обикновена електронна таблица не се нуждаем от специално въведение в нея. При програмирането на VBA е много важно да се разбере концепцията на метода “PASTE”, за да се разбере програмата за преминаване към следващото ниво.
![](https://cdn.know-base.net/4182276/vba_paste_step_by_step_guide_how_to_paste_data_using_vba_code_.png.webp)
Разберете метода за поставяне на VBA, като запишете макрос
За да започнем процедурата, нека разберем как работи методът на поставяне, като запишем прост макрос. Въвел съм стойност в клетка А1, както е показано на изображението по-долу.
![](https://cdn.know-base.net/4182276/vba_paste_step_by_step_guide_how_to_paste_data_using_vba_code__2.png.webp)
Сега ще ви покажа метода за копиране и поставяне от клетка А1 до А3. Следвайте стъпките по-долу, за да запишете макрос.
Стъпка 1: Кликнете върху Record Macro под раздела за разработчици на Excel.
![](https://cdn.know-base.net/4182276/vba_paste_step_by_step_guide_how_to_paste_data_using_vba_code__3.png.webp)
Стъпка 2: В момента, в който щракнете върху запис на макрос, той ще ви покаже името на макроса по подразбиране. Отсега просто кликнете върху OK.
![](https://cdn.know-base.net/4182276/vba_paste_step_by_step_guide_how_to_paste_data_using_vba_code__4.png.webp)
Стъпка 3: В момента, в който щракнете върху, добре, той започва да записва дейностите, които правите. Първото нещо, което трябва да направите, е да изберете клетката А1, която да копирате.
![](https://cdn.know-base.net/4182276/vba_paste_step_by_step_guide_how_to_paste_data_using_vba_code__5.png.webp)
Стъпка 4: Сега натиснете Ctrl + C, за да копирате избраната клетка.
![](https://cdn.know-base.net/4182276/vba_paste_step_by_step_guide_how_to_paste_data_using_vba_code__6.png.webp)
Стъпка 5: Сега изберете клетката A3, където трябва да поставим копираната стойност.
![](https://cdn.know-base.net/4182276/vba_paste_step_by_step_guide_how_to_paste_data_using_vba_code__7.png.webp)
Стъпка 6: Сега поставете, като натиснете Ctrl + V.
![](https://cdn.know-base.net/4182276/vba_paste_step_by_step_guide_how_to_paste_data_using_vba_code__8.png.webp)
Стъпка 7: Сега спрете записите.
Отидете в редактора на visual basic, за да видите записите. По-долу е записан запис.
![](https://cdn.know-base.net/4182276/vba_paste_step_by_step_guide_how_to_paste_data_using_vba_code__9.png.webp)
Първото нещо, което направихме тук, е „избрахме клетката А1“, така че кодът за тази дейност е Обхват („А1“) Избор
Следващата дейност е, че сме копирали клетката А1. Тук можете да забележите, че кодът не е диапазон („A1“). Копирайте, а пише „ Избор“. Копиране, това е така, защото в момента, в който изберете клетката, тя става или активна клетка, или селекция. Така че това е посочено като Избор. Копирайте .
Третото действие беше, че избрахме клетката A1 за поставяне, така че кодът е Range (“A3”). Изберете
Последната дейност е, че сме поставили стойността в клетката. Тук пише Active Sheet, защото в момента, в който изберете клетката, тя се превръща в активна клетка на активния лист. Така че кодът е "ActiveSheet.Paste"
Ето как методът Paste работи във VBA.
Формула
По-долу е формулата за метода на паста VBA:
Expression.Paste (местоназначение, връзка)
Изразът не е нищо друго, освен името на работния лист, което искате да поставите. За да разберете по-добре обекта на работния лист, прочетете нашата статия на „VBA Worksheet“.
Можете да се обърнете към другия работен лист по име. Ако искате да поставите в същия работен лист, където сте копирали, можете да се обърнете към текущия лист чрез „Активен лист“.
Дестинация: След като споменем името на работния лист, трябва да се обърнем към адреса на клетката на местоназначението. Например, ако искате да поставите в работния лист „Данни за продажба“ и в клетката A5 до A10, тогава по-долу е примерен код.
Работни листове („Данни за продажбите“). Обхват („A5: A10“)
Ако пренебрегнете този аргумент, тогава каквато и да е активната клетка, ще се третира като целевата клетка.
Връзка: Ако искате да създадете връзка към копирания диапазон, тогава можете да предоставите аргумента като TRUE или FALSE.
Примери за метод на поставяне в Excel VBA
По-долу са примерите за метода за поставяне на Excel VBA.
Пример # 1 - Поставяне в същия работен лист на Excel
Сега нека видим използването на метода за поставяне на VBA в същия лист. Например, демонстрация, имам малко стойности от клетка А1 до А5.
![](https://cdn.know-base.net/4182276/vba_paste_step_by_step_guide_how_to_paste_data_using_vba_code__10.png.webp)
Сега искам да копирам това и да поставя в C1 до C5. Следвайте стъпките по-долу, за да напишете кода сами.
Стъпка 1: Преди да публикуваме нещо, първото нещо, което трябва да направим, е да копираме диапазона от данни. Така че копирайте диапазона от A1 до A5.
Код:
Sub Paste_Example1 () Диапазон ("A1: A5"). Копиране Край Sub
![](https://cdn.know-base.net/4182276/vba_paste_step_by_step_guide_how_to_paste_data_using_vba_code__11.png.webp)
Стъпка 2: След копирането трябва да посочим къде поставяме. За да направите това първо, трябва да посочим името на работния лист. В този случай, тъй като поставяме в същия лист, използвайте обекта Active Sheet.
Код:
Sub Paste_Example1 () Диапазон ("A1: A5"). Копирайте ActiveSheet.Paste End Sub
![](https://cdn.know-base.net/4182276/vba_paste_step_by_step_guide_how_to_paste_data_using_vba_code__12.png.webp)
Стъпка 3: След като изберете метода на поставяне, трябва да посочим и дестинацията. Така дестинацията ще бъде диапазон C1 до C5.
Код:
Sub Paste_Example1 () Range ("A1: A5"). Копирайте ActiveSheet.Paste Destination: = Range ("C1: C5") End Sub
![](https://cdn.know-base.net/4182276/vba_paste_step_by_step_guide_how_to_paste_data_using_vba_code__13.png.webp)
Стъпка 4: Сега не искам да създавам връзка към този метод за поставяне на VBA, така че пренебрегвам следващия аргумент.
Сега стартирайте този код с помощта на клавиша F5 или ръчно, той ще копира от A1 в A5 и ще постави в C1 до C5.
![](https://cdn.know-base.net/4182276/vba_paste_step_by_step_guide_how_to_paste_data_using_vba_code_.gif)
Ако погледнете стойностите от C1 до C5, тези области на стойности са в клетка от A1 до A5. Така че този метод на поставяне на VBA копира всичко и поставя всичко.
Сега ще използвам аргумента LINK, за да видя как работи. За аргумента на ВРЪЗКАТА предоставих TRUE.
Код:
Sub Paste_Example1 () Диапазон ("A1: A5"). Копирайте ActiveSheet.Paste Link: = True End Sub
![](https://cdn.know-base.net/4182276/vba_paste_step_by_step_guide_how_to_paste_data_using_vba_code__14.png.webp)
Това ще създаде връзка към клетката от А1 до А5.
![](https://cdn.know-base.net/4182276/vba_paste_step_by_step_guide_how_to_paste_data_using_vba_code__2.gif)
Така че той е създал връзка. Забележително липсващо е форматирането на клетките тук. Не е поставил никакви стилове за форматиране.
Пример # 2 - Поставяне в различен работен лист на Excel
Копирането от един работен лист на друг сто лист изисква имена на работни листове. Да предположим, че искате да копирате данните от листа „Първи лист“ и искате да поставите в листа „Втори лист“ по-долу е начинът за препращане към листовете.
Код:
Sub Paste_Example2 () Работни листове ("Първи лист"). Обхват ("A1: A5"). Копирайте работни листове ("Втори лист"). Поставяне на местоназначение: = Обхват ("C1: C5") Край Под
![](https://cdn.know-base.net/4182276/vba_paste_step_by_step_guide_how_to_paste_data_using_vba_code__15.png.webp)
Това ще копира данни от A1 в A5 от името на листа, наречено „First Name“, след което ще постави в листа „Second Sheet“ в диапазона C1 до C5.
![](https://cdn.know-base.net/4182276/vba_paste_step_by_step_guide_how_to_paste_data_using_vba_code__16.png.webp)
Можете да изтеглите VBA Paste Template от тук: - VBA Paste Excel Template