Изрязване, копиране и поставяне от макрос - Примери за VBA код

В този урок ще научите няколко различни метода за копиране и поставяне и изрязване и поставяне с помощта на макрос VBA. Прочетете придружаващия урок за Value Pasting и PasteSpecial за по -разширени опции за копиране и поставяне.

За да използвате този код: Отворете редактора на Visual Basic (Alt + F11), Вмъкнете нов модул (Вмъкване> Модул) и копирайте и поставете желания код в модула.

Копирайте (изрежете) и поставете една клетка

Този пример копира или изрязва и поставя една клетка, A1 върху B1:

123456789 Sub Paste_OneCell ()„Копиране и поставяне на единична клеткаДиапазон ("A1"). Обхват на копиране ("B1")„Изрязване и поставяне на единична клеткаДиапазон ("A1"). Обхват на рязане ("B1")End Sub

Копиране на селекцията

Ако искате да копирате активната селекция, използвайте това:

123456789101112 Sub CopySelection ()'Поставяне в определен диапазонSelection.copy range ("b1")'Офсетна паста (компенсира 2 клетки надолу и 1 надясноSelection.copySelection.offset (2,1) .pasteApplication.CutCopyMode = FalseEnd Sub

Копирайте (изрежете) и поставете диапазон от клетки

Този пример копира или изрязва и поставя различни диапазони от клетки, A1: A3 към B1: B3:

123456789 Sub Paste_Range ()„Копирайте и поставете диапазон от клеткиДиапазон ("A1: A3"). Обхват на копиране ("B1: B3")„Изрежете и поставете диапазон от клеткиДиапазон ("A1: A3"). Обхват на рязане ("B1: B3")End Sub

Копирайте (изрежете) и поставете цяла колона

По -долу ще демонстрираме няколко бързи примера. Прочетете нашата статия за копиране и поставяне на редове и колони за подробни примери, обяснения и варианти.

Този пример копира или изрязва и поставя цялата колона, от A до B:

12345678910 Sub PasteOneColumn ()'Копиране и поставяне на колонаДиапазон ("A: A"). Обхват на копиране ("B: B")„Изрязване и поставяне на колонаДиапазон ("A: A"). Cut Range ("B: B")End Sub

Копирайте (изрежете) и поставете цял ред

Този пример копира или изрязва и поставя целия ред, 1 върху 2:

12345678910 Sub Paste_OneRow ()„Копиране и поставяне на редДиапазон ("1: 1"). Обхват на копиране ("2: 2")„Изрежете и поставете редДиапазон ("1: 1"). Обхват на рязане ("2: 2")End Sub

Копирайте (изрежете) и поставете в друг работен лист или работна книга

1234567891011121314 Sub Paste_Other_Sheet_or_Book ()„Изрежете или копирайте и поставете в друг работен листРаботни листове ("лист1"). Диапазон ("A1"). Копиране на работни листове ("лист2"). Диапазон ("B1") 'КопиранеРаботни листове ("лист1"). Диапазон ("A1"). Изрязване на работни листове ("лист2"). Диапазон ("B1") "Изрязване„Изрежете или копирайте и поставете в друга работна книгаРаботни книги ("book1.xlsm"). Работни листове ("лист1"). Диапазон ("A1"). Копиране _Работни книги ("book2.xlsm"). Работни листове ("лист1"). Диапазон ("B1") 'КопиранеРаботни книги ("book1.xlsm"). Работни листове ("лист1"). Диапазон ("A1"). Изрязване _Работни книги ("book2.xlsm"). Работни листове ("лист1"). Диапазон ("B1") "ИзрязванеApplication.CutCopyMode = FalseEnd Sub

Стойност Paste

Обикновено, когато копирате и поставяте, вие поставяте всички свойства на клетка: форматиране, формули и т.н … Вмъкването на стойности ви позволява да копирате и поставяте стойностите на клетките и нищо друго. Най -лесният начин за поставяне на стойност във VBA е да определите стойността на клетката директно:

123456789101112131415 Sub ValuePaste ()„Клетки за поставяне на стойностДиапазон ("B1"). Стойност = Обхват ("A1"). СтойностДиапазон ("B1: B3"). Стойност = Обхват ("A1: A3"). Стойност„Задайте стойности между работните листовеРаботни листове ("лист2"). Диапазон ("A1"). Стойност = Работни листове ("лист1"). Диапазон ("A1"). Стойност„Задаване на стойности между работните книгиРаботни книги ("book2.xlsm"). Работни листове ("лист1"). Диапазон ("A1"). Стойност = _Работни книги ("book1.xlsm"). Работни листове ("лист1"). Диапазон ("A1"). СтойностApplication.CutCopyMode = FalseEnd Sub

Специална паста

Специално поставяне ви позволява да копирате и поставяте специфични свойства на клетки (примери: формати, стойности, ширини на колони и т.н.). Той също така ви позволява да извършвате специални операции с поставяне (примери: пропускане на заготовки, транспониране). Ще разгледаме няколко примера по-долу, но за по-задълбочено прочетете нашия урок за Стойност на поставяне и Специално поставяне.

12345678910111213141516171819 Sub PasteSpecial ()„Извършете една специална операция за поставяне:Диапазон ("A1"). Копиране„Формати за поставянеДиапазон ("B1"). PasteSpecial Paste: = xlPasteFormats„Поставяне на ширините на колонитеДиапазон ("B1"). PasteSpecial Paste: = xlPasteColumnWidths„Поставете формулиДиапазон ("B1"). PasteSpecial Paste: = xlPasteFormulas„Извършете многократно поставяне на специални операции наведнъж:Диапазон ("A1"). Копиране„Поставяне на формати и транспониранеДиапазон ("B1"). PasteSpecial Paste: = xlPasteFormats, Операция: = xlNone, SkipBlanks: = _Неверно, Транспониране: = ВярноApplication.CutCopyMode = FalseEnd Sub

Изчистване на клипборда

След копиране и поставяне може да искате да изчистите клипборда (правим това в някои от примерите за код по -горе). За да изчистите клипборда на Excel, задаваме Application.CutCopyMode на False:

1 Application.CutCopyMode = False

Това ще изчисти клипборда на Excel. Това обаче няма да изчисти буферната памет на Windows. За да изчистите клипборда на прозореца, следвайте инструкциите тук.

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave