У овом водичу ћете научити неколико различитих метода копирања и лепљења и сечења и лепљења помоћу ВБА макронаредбе. За напредније опције копирања и лепљења прочитајте пратећи водич о Валуе Пастинг и ПастеСпециал.
Да бисте користили овај код: Отворите Висуал Басиц Едитор (Алт + Ф11), Уметните нови модул (Уметни> Модул) и копирајте и залепите жељени код у модул.
Копирајте (исеците) и залепите једну ћелију
Овај пример копира или исече и залепи једну ћелију, А1 преко Б1:
123456789 | Суб Пасте_ОнеЦелл ()'Копирај и залепи једноћелијуОпсег ("А1"). Домет копирања ("Б1")'Исеците и залепите једну ћелијуРаспон ("А1"). Распон сечења ("Б1")Енд Суб |
Цопи Селецтион
Ако желите копирати активну селекцију, користите ово:
123456789101112 | Суб ЦопиСелецтион ()'Залепи у дефинисани опсегСелецтион.цопи ранге ("б1")'Оффсет Пасте (помера 2 ћелије надоле и 1 десно)Селецтион.цопиСелецтион.оффсет (2,1) .пастеАпплицатион.ЦутЦопиМоде = НетачноЕнд Суб |
Копирајте (исеците) и залепите низ ћелија
Овај пример копира или исече и залепи низ ћелија, А1: А3 преко у Б1: Б3:
123456789 | Под Пасте_Ранге ()„Копирајте и залепите низ ћелијаОпсег ("А1: А3"). Копирај распон ("Б1: Б3")„Изрежите и залепите низ ћелијаРаспон ("А1: А3"). Распон сечења ("Б1: Б3")Енд Суб |
Копирајте (исеците) и залепите целу колону
У наставку ћемо показати неколико брзих примера. Прочитајте наш чланак о Копирању и лепљењу редова и колона за детаљне примере, објашњења и варијације.
Овај пример копира или исече и залепи целу колону од А до Б:
12345678910 | Суб ПастеОнеЦолумн ()'Копирај и залепи колонуОпсег ("А: А"). Копирај распон ("Б: Б")„Изрежи и залепи колонуРаспон ("А: А"). Распон сечења ("Б: Б")Енд Суб |
Копирајте (исеците) и залепите цео ред
Овај пример копира или исече и залепи читав ред, 1 на 2:
12345678910 | Суб Пасте_ОнеРов ()'Копирај и залепи редОпсег ("1: 1"). Копирај опсег ("2: 2")'Изрежи и залепи редОпсег ("1: 1"). Распон сечења ("2: 2")Енд Суб |
Копирајте (исеците) и залепите на други радни лист или радну свеску
1234567891011121314 | Суб Пасте_Отхер_Схеет_ор_Боок ()'Исеците или копирајте и залепите на други радни листРадни листови ("лист1"). Опсег ("А1"). Копирај радне листове ("лист2"). Распон ("Б1") 'КопирајРадни листови ("лист1"). Распон ("А1"). Исеците радне листове ("лист2"). Распон ("Б1") 'Исеците„Исеците или копирајте и залепите у другу радну свескуРадне свеске ("боок1.клсм"). Радни листови ("лист1"). Распон ("А1"). Копирај _Радне свеске ("боок2.клсм"). Радни листови ("лист1"). Распон ("Б1") 'КопирајРадне свеске ("боок1.клсм"). Радни листови ("лист1"). Распон ("А1"). Изрежи _Радне свеске ("боок2.клсм"). Радни листови ("лист1"). Распон ("Б1") 'ИсециАпплицатион.ЦутЦопиМоде = НетачноЕнд Суб |
Вредност Пасте
Обично, када копирате и залепите, налепите сва својства ћелије: обликовање, формуле итд … Вредносно лепљење вам омогућава да копирате и залепите вредности ћелија и ништа друго. Најлакши начин да залепите вредност у ВБА је да директно дефинишете вредност ћелије:
123456789101112131415 | Суб ВалуеПасте ()'Ћелије за лепљење вредностиОпсег ("Б1"). Вредност = Опсег ("А1"). ВредностОпсег ("Б1: Б3"). Вредност = Опсег ("А1: А3"). Вредност'Подесите вредности између радних листоваРадни листови ("лист2"). Опсег ("А1"). Вредност = Радни листови ("лист1"). Опсег ("А1"). Вредност'Подесите вредности између радних свезакаРадне свеске ("боок2.клсм"). Радни листови ("лист1"). Опсег ("А1"). Вредност = _Радне свеске ("боок1.клсм"). Радни листови ("лист1"). Опсег ("А1"). ВредностАпплицатион.ЦутЦопиМоде = НетачноЕнд Суб |
Специјална паста
Специјално лепљење вам омогућава да копирате и залепите одређена својства ћелија (примери: формати, вредности, ширине колона итд.). Такође вам омогућава да изводите посебне операције лепљења (примери: прескочите празна поља, транспонујте). У наставку ћемо погледати неколико примера, али детаљно прочитајте наш водич о Вредносном лепљењу и Посебном лепљењу.
12345678910111213141516171819 | Суб ПастеСпециал ()„Извршите једну специјалну операцију лепљења:Опсег ("А1"). Копирај'Формати залепљивањаОпсег ("Б1"). ПастеСпециал Пасте: = клПастеФорматс'Залепи ширине колонаОпсег ("Б1"). ПастеСпециал Пасте: = клПастеЦолумнВидтхс'Залепи формулеОпсег ("Б1"). ПастеСпециал Пасте: = клПастеФормулас„Извршите вишеструке операције лепљења одједном:Опсег ("А1"). Копирај'Залепи формате и транспонујОпсег ("Б1"). ПастеСпециал Пасте: = клПастеФорматс, Операција: = клНоне, СкипБланкс: = _Нетачно, Транспонуј: = ТачноАпплицатион.ЦутЦопиМоде = НетачноЕнд Суб |
Цлеар Цлипбоард
Након копирања и лепљења можда ћете желети да очистите међуспремник (то радимо у неким горе наведеним примерима кода). Да бисмо очистили међуспремник Екцел, поставили смо Апплицатион.ЦутЦопиМоде на Фалсе:
1 | Апплицатион.ЦутЦопиМоде = Нетачно |
Ово ће очистити међуспремник програма Екцел. Међутим, неће избрисати Виндовс међуспремник. Да бисте очистили међуспремник прозора, следите упутства овде.