Преглед садржаја
Кад год вам затреба можете да копирате опсег са једног листа на други лист или радну свеску. Постоје различите врсте копирања и лепљења. Пратећи овај чланак, упознаћете различите начине коришћења Екцел ВБА опсега копирања на други лист.
Да бих објашњење био живахнији, користићу пример скупа података који представља личне податке одређених особа . Скуп података има 4 колоне. Ове колоне су Име, Презиме, Пуно име, и Емаил .
/uuge42tkxr.png"/>
Преузмите радну свеску за вежбање
ВБА Копирај опсег на други лист.клсм
8 начина за Екцел ВБА Копирај опсег на други лист
1. Копирај опсег на други лист са форматом
Кад год желите да Копирате опсег са једног листа на други лист помоћу Формат , то можете једноставно да урадите користећи ВБА .
Овде ћу Копирати опсег од Сет података лист у ВитхФормат лист.
Започнимо процедуру,
Прво отворите картицу Програмер &гт;&гт; изаберите Висуал Басиц
/uuge42tkxr-1.png"/>
Такође можете користити АЛТ + Ф11 тастатуру да отворите ВБА уредник.
Следеће ће се отворити нови прозор под називом Мицрософт Висуал Басиц за апликације.
Одатле отворите Инсерт &гт;&гт; изаберите Модуле .
/uuge42tkxr-2.png"/>
А Модул ће се отворити, а затим унесите следећи код у отворени &гт;&гт; изаберите Прикажи макрое
/uuge42tkxr-26.png"/>
➤ Појавиће се дијалошки оквир .
/uuge42tkxr-27.png"/>
Сада, из Имена макроа изаберите Цопи_Ранге_БеловЛастЦелл_АнотхерСхеетс такође изаберите радну свеску у оквиру Макрои у .
Коначно, Покрени изабрани Макро .
Онда ће Копирати изабрани опсег и Налепити га из последњег реда другог листа .
/uuge42tkxr-28.png"/>
8. ВБА Копирајте опсег у последњи ред друге радне свеске
Ако желите да Копирате опсег до последњег реда другог листа радне свеске можете користити и ВБА .
Овде ћу Копирати опсег из скупа података2 лист у Схеет1 оф Боок2 али из прве ћелије која није празна.
/uuge42tkxr-29.png"/>
Да бисте започели процедуру,
Прво отворите картицу Програмер &гт;&гт; изаберите Висуал Басиц
Такође можете користити АЛТ + Ф11 тастатуру да отворите ВБА уређивач.
/uuge42tkxr-24.png"/>
Следеће ће се отворити нови прозор Мицрософт Висуал Басиц за апликације.
Одатле отворите Инсерт &гт;&гт; изаберите Модул .
/uuge42tkxr-2.png"/>
Отвориће се Модул , а затим откуцајте следећи код у отворени Модул .
9663
/uuge42tkxr-30.png"/>
Овде сам декларисао Суб процедуру Цопи_Ранге_БеловЛастЦелл_То_Анотхер_Воркбоок где је всЦопи и всДестинатион су врста радног листа , лЦопиЛастРов и лДестЛастРов су тип Дуги .
Прво се користи Сет да би се подесиле променљиве за лист за копирање и одредишни лист.
Следеће, користио методу Ров да пронађе последњи ред на основу података колоне А у опсегу копирања.
Опет је користио метод Ров да бисте пронашли први празан ред на основу података колоне А у одредишном опсегу, такође се користи Оффсет да се помери надоле за једно својство.
Коначно, Копирано подаци Датасет2 лист из Екцел ВБА Опсег копирања у другу радну свеску Схеет.клсм до одредишта Схеет1 радне свеске Боок2.клск .
Сада, Сачувајте код и вратите се на радни лист.
Следеће, отворите картицу Приказ &гт;&гт; из Макроа &гт;&гт; изаберите Прикажи макрое
/uuge42tkxr-31.png"/>
➤ Појавиће се дијалошки оквир .
/uuge42tkxr-32.png"/>
Сада, из Имена макроа изаберите Цопи_Ранге_БеловЛастЦелл_То_Анотхер_Воркбоок такође изаберите радну свеску у оквиру Макрои у .
Коначно, Покрени изабрани Макро .
Онда ће Копирати изабрани опсег са постојећег листа у последњи ред друге радне свеске.
/uuge42tkxr-33.png"/>
Одељак за вежбу
У радној свесци сам обезбедио вежбе за вежбање ових објашњених начина Екцел ВБА опсега копирања на други лист.
/uuge42tkxr-34.png"/>
Закључак
У овом чланку сам објаснио 8 различитих типова лаких и брзих начинаЕкцел ВБА копирај опсег на други лист. Ови различити начини ће вам помоћи да копирате опсег са једног листа на други и такође са једног листа на други радну свеску. На крају, али не и најмање важно, ако имате било какве сугестије, идеје и повратне информације, слободно коментаришите испод.
Модул.2185
/uuge42tkxr-3.png"/>
Овде сам декларисао Суб процедуру Цопи_Ранге_витхФормат_ТоАнотхер_Схеет
Узео сам опсег Б1:Е10 да копирам са постојећег листа на име листа Са Формат .
Овде сам користио Копирај метод за копирање изабраног опсега, Копирај метод копира било који опсег са Формат .
На крају, Сачувај код и врати се на радни лист .
Следеће, отворите картицу Приказ &гт;&гт; из Макроа &гт;&гт; изаберите Прикажи макрое
/uuge42tkxr-4.png"/>
➤ Појавиће се дијалошки оквир .
/uuge42tkxr-5.png"/>
Сада, из Имена макроа изаберите Цопи_Ранге_витхФормат_ТоАнотхер_Схеет такође изаберите радну свеску у оквиру Макрои у .
Коначно, Покрени изабрани Макро .
Онда ће Копирати изабрани опсег помоћу Формат на нови лист који сам изабрао ( ВитхФормат) .
/uuge42tkxr-6.png"/>
2. ВБА копирајте опсег на други лист без формата
Такође је могуће Копирати опсег на други лист без Форматирања помоћу ВБА .
Овде ћу Копирати опсег од Сет података лист до ВитхоутФормат схеет.
Почнимо са процедуром,
Сада отворите Програмер картица &гт;&гт; изаберите Висуал Басиц ( користите АЛТ + Ф11)
/uuge42tkxr-1.png"/>
Следеће ће се отворити Мицрософт Висуал Басиц за апликације.
Затим отворите Инсерт &гт;&гт; изаберите Модул .
/uuge42tkxr-2.png"/>
Отвориће се Модул , а затим откуцајте следећи код у отворени Модул .
5893
/uuge42tkxr-7.png"/>
Овде сам прогласио Суб процедуру Цопи_Ранге_ВитхоутФормат_Тоанотхер_Схеет
Узео сам опсег Б1:Е10 за копирање са постојећег листа у име листа БезФормат .
Овде сам користио метод Копирај да копирам изабрани опсег, али и поменуто Пасте:=клПастеВалуес у ПастеСпециал методу тако да ће налепити само Вредности изабраног опсега, не и формат.
Коначно , Сачувајте код и вратите се на радни лист.
Следеће, отворите картицу Приказ &гт;&гт; из Макроа &гт;&гт; изаберите Прикажи макрое
/uuge42tkxr-4.png"/>
➤ Појавиће се дијалошки оквир .
/uuge42tkxr-8.png"/>
Сада, из Имена макроа изаберите Цопи_Ранге_ВитхоутФормат_Тоанотхер_Схеет и такође изаберите радну свеску у оквиру Макрои у .
Коначно, Покрените изабрани макро .
На тај начин ће Копирати одабрани опсег само са Вредностима не Формат .
/uuge42tkxr-9.png"/>
3. Копирајте опсег на други лист са форматом и ширином колоне
Понекад ћете можда желети да Копирајте било који изабрани опсег какав јесте, за то можете Копирати опсег са Формат и Ширина колоне .
Овде, Копираћу опсег од Сет података лист до Формат &амп; Ширина колона лист.
Да бисте видели процедуру за обављање задатка помоћу ВБА ,
Прво, отворите картицу Развојник &гт;&гт; изаберите Висуал Басиц
Такође можете користити АЛТ + Ф11 тастатуру да отворите ВБА уређивач.
/uuge42tkxr-1.png"/>
Следеће, отвориће се нови прозор Мицрософт Висуал Басиц за апликације.
Тамо отворите Инсерт &гт;&гт; изаберите Модул .
/uuge42tkxr-2.png"/>
Отвориће се Модул , а затим откуцајте следећи код у отворени Модул .
3410
/uuge42tkxr-10.png"/>
Овде сам декларисао Суб процедуру Цопи_Ранге_то_Анотхер_Схеет_витх_ФорматАндЦолумнВидтх
Узео сам опсег Б1:Е10 за копирање са постојећег листа у назив одредишног листа Формат &амп; Ширина колоне .
Овде сам користио Цопи метод да копирам изабрани опсег. Такође сам користио метод ПастеСпециал где сам поменуо Пасте:=клПастеЦолумнВидтхс тако да налепи изабрани опсег заједно са Формат и Цолумн Видтх .
На крају, Сачувајте код и вратите се на радни лист.
Следеће, отворите картицу Приказ &гт;&гт; из Макроа &гт;&гт; изаберите Прикажи макрое
/uuge42tkxr-4.png"/>
➤ Појавиће се дијалошки оквир .
/uuge42tkxr-11.png"/>
Сада, из Имена макроа изаберите Цопи_Ранге_то_Анотхер_Схеет_витх_ФорматАндЦолумнВидтх и такође изаберите радну свеску у оквиру Макрои у .
Коначно, Покрените изабрано Макро .
Као резултат тога, Копираће одабрани опсег са Формат и Ширина колоне .
/uuge42tkxr-12.png"/>
4. ВБА копирајте опсег на други лист са формулом
У случају да имате формулу у свом скупу података коју желите да копирате. Без бриге! Можете да копирате опсег који садржи Формула на други лист задржавајући формулу нетакнутом.
Овде ћу Копирати опсег са Сет података лист на ВитхФормула схеет
Почнимо са процедуром,
За почетак, отворите картицу Девелопер &гт;&гт; изаберите Висуал Басиц ( такође можете користити АЛТ + Ф11 тастатуру)
/uuge42tkxr-1.png"/>
Даље, отвориће Мицрософт Висуал Басиц за апликације.
Одатле отворите Инсерт &гт;&гт; изаберите Модул .
/uuge42tkxr-2.png"/>
Отвориће се Модул , а затим откуцајте следећи код у отворени Модул .
1792
/uuge42tkxr-13.png"/>
Овде сам прогласио Суб процедуру Цопи_Ранге_витхФормула_ТоАнотхер_Схеет
Узео сам опсег Б1:Е10 за копирање са постојећег листа на име одредишног листа Са формулом .
Овде сам користио методу Копирај да копирам изабрани опсег. Такође сам користио метод ПастеСпециал где сам поменуо Пасте:=клПастеФормулас тако да носи Формуле заједно са изабраним опсегом.
Коначно , Сачувајте код и вратите се на радни лист.
Затим отворите Приказ таб &гт;&гт; из Макроа &гт;&гт; изаберите Прикажи макрое
/uuge42tkxr-4.png"/>
➤ Појавиће се дијалошки оквир .
/uuge42tkxr-14.png"/>
Сада, из Имена макроа изаберите Цопи_Ранге_витхФормула_ТоАнотхер_Схеет такође изаберите радну свеску у оквиру Макрои у .
Коначно, Покрени изабрани Макро .
На тај начин ће Копирати све изабране опсеге ћелија са Формулама .
/uuge42tkxr-15.png"/>
Слична очитавања:
- Како користити ВБА помак опсега (11 начина)
- ВБА за сваку ћелију у опсегу у Екцел-у (3 методе)
- Како користити објекат опсега ВБА у Екцел-у (5 својстава)
5. Копирајте опсег са аутоматским уклапањем на други лист
Док копирате опсег на други лист можете користити и метод Аутоматско прилагођавање у ВБА у АутоФит копирани опсег у новом листу.
Овде ћу Копирати опсег из скупа података схеет то Ауто Фит схеет
Хајде да започнемо процедуру,
Прво, отворите картицу Девелопер &гт;&гт; изаберите Висуал Басиц
Такође можете користити АЛТ + Ф11 тастатуру да отворите ВБА уређивач.
/uuge42tkxr-1.png"/>
Даље, отвориће прозор Мицрософт Висуал Басиц за апликације.
Затим отворите Инсерт &гт ;&гт; изаберите Модуле .
/uuge42tkxr-2.png"/>
А Модул ће се отворити, а затим унесите следећи код у отворени Модул .
8462
/uuge42tkxr-16.png"/>
Овде сам декларисао Суб процедуру Цопи_Ранге_витхФормат_АутоФит
Прво сам изабрао радни лист Сет података . Затим је узео опсег Б1:Е10 за копирање са постојећег листа на одредишни лист под називом АутоФит .
Овде сам користио Копирај метода за копирање изабраног опсега и метода АутоФит ће аутоматски уклопити дате колоне Б:Е .
Коначно, Сачувајте код и идите назад на радни лист.
Следеће, отворите картицу Приказ &гт;&гт; из Макроа &гт;&гт; изаберите Прикажи макрое
/uuge42tkxr-4.png"/>
➤ Појавиће се дијалошки оквир .
/uuge42tkxr-17.png"/>
Сада, из Имена макроа изаберите Цопи_Ранге_витхФормат_АутоФит такође изаберите радну свеску у оквиру Макрои у .
Коначно, Покрени изабрани Макро .
Стога ће Копирати изабрани опсег на нови лист и такође Аутоматски подесити колоне.
/uuge42tkxr-18.png"/>
6. ВБА Копирај опсег у другу радну свеску
Ако желите, такође можете Копирати опсег са једног листа на други лист друге радне свеске.
Овде ћу Копирати опсег од Сет података лист у Схеет1 од Боок1 радна свеска.
Започнимо процедуру,
Прво отворите картицу Развојник &гт;&гт; изаберите Висуал Басиц (и такође можете користити АЛТ + Ф11 тастатуру)
/uuge42tkxr-1.png"/>
Онда, отвориће се Мицрософт ВисуалОсновно за апликације.
Следеће отворите Убаци &гт;&гт; изаберите Модул .
/uuge42tkxr-2.png"/>
Отвориће се Модул , а затим откуцајте следећи код у отворени Модул .
5722
/uuge42tkxr-19.png"/>
Овде сам декларисао Суб процедуру Цопи_Ранге_ВитхФормат_Тоанотхер_ВоркБоок
Узео сам опсег Б3:Е10 из назива листа скуп података за копирање са постојећег листа у име нове радне свеске књига1 и име листа лист1 .
Овде сам користио метод Копирај да копирам изабрани опсег у нову радну свеску.
На крају, Сачувај код и врати се на радни лист.
Даље, отворите картицу Приказ &гт;&гт; из Макроа &гт;&гт; изаберите Прикажи макрое
/uuge42tkxr-4.png"/>
➤ Појавиће се дијалошки оквир .
/uuge42tkxr-20.png"/>
Сада, из Имена макроа изаберите Цопи_Ранге_ВитхФормат_Тоанотхер_ВоркБоок такође изаберите радну свеску у оквиру Макрои у .
Коначно, Покрени изабрани Макро .
Сада ће Копирати изабрани опсег са листа Сет података у другу радну свеску.
/uuge42tkxr-21.png"/>
7. Копирајте опсег у последњи ред другог листа
У сваком случају, ако желите да Копирате опсег на други лист из одређене ћелије или последње ћелије то можете да урадите помоћу ВБА .
Пре него што уђем у процедуру, желим да вам кажем да сам узео два нова листа која се састоје од Пуно име, имејл, и Адреса .
Хајде да прво погледамо Сет података2 лист.
/uuge42tkxr-22.png"/>
Ево испод последње ћелије лист.
/uuge42tkxr-23.png"/>
Овде ћу Копирати опсег од Сет података2 до испод последње ћелије али из прве ћелије која није празна.
За почетак отворите картицу Развојник &гт;&гт; изаберите Висуал Басиц
/uuge42tkxr-24.png"/>
Следеће ће се отворити Мицрософт Висуал Басиц за апликације.
Затим отворите Убаци &гт;&гт; изаберите Модул .
/uuge42tkxr-2.png"/>
Отвориће се Модул , а затим откуцајте следећи код у отворени Модул .
6170
/uuge42tkxr-25.png"/>
Овде сам декларисао Суб процедуру Цопи_Ранге_БеловЛастЦелл_АнотхерСхеетс
Прво, изабрао сам лист Сет података2 , а затим је користио Ров метод да преброји Последњи ред и задржао избројани ред у лр .
Затим се опсег А2:Ц &амп; лр за копирање са постојећег листа на назив одредишног листа испод последње ћелије .
Опет, користио метод Ред да преброји последњи Ред другог листа под називом испод последње ћелије и задржао избројани ред у лрАнотхерСхеет .
Овде сам користио метод Копирај да копирате изабрани опсег и метода АутоФит ће аутоматски уклопити дате колоне А:Ц .
Коначно, Сачувајте код и вратите се назад на радни лист.
Следеће, отворите картицу Приказ &гт;&гт; из Макроа