Изрежи, копирај и залепи из макроа - примери кода ВБА

У овом водичу ћете научити неколико различитих метода копирања и лепљења и сечења и лепљења помоћу ВБА макронаредбе. За напредније опције копирања и лепљења прочитајте пратећи водич о Валуе Пастинг и ПастеСпециал.

Да бисте користили овај код: Отворите Висуал Басиц Едитор (Алт + Ф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 Апплицатион.ЦутЦопиМоде = Нетачно

Ово ће очистити међуспремник програма Екцел. Међутим, неће избрисати Виндовс међуспремник. Да бисте очистили међуспремник прозора, следите упутства овде.

wave wave wave wave wave