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

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

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