Вырезание, копирование и вставка из макроса - примеры кода VBA

В этом руководстве вы изучите несколько различных методов копирования и вставки и вырезания и вставки с использованием макроса VBA. Прочтите сопутствующее руководство «Вставка значений» и «PasteSpecial», чтобы узнать о дополнительных параметрах копирования и вставки.

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

Копировать (вырезать) и вставлять одну ячейку

В этом примере копируется или вырезается и вставляется одна ячейка A1 в B1:

123456789 Sub Paste_OneCell ()'Копировать и вставить одну ячейкуДиапазон ("A1"). Копировать диапазон ("B1")'Вырезать и вставить одну ячейкуДиапазон ("A1"). Диапазон отсечения ("B1")Конец подписки

Копировать выделение

Если вы хотите скопировать активный выбор, используйте это:

123456789101112 Sub CopySelection ()'Вставить в определенный диапазонSelection.copy range ("b1")'Offset Paste (смещает 2 ячейки вниз и 1 вправоSelection.copySelection.offset (2,1) .pasteApplication.CutCopyMode = FalseКонец подписки

Копировать (вырезать) и вставлять диапазон ячеек

В этом примере копируется или вырезается и вставляется диапазон ячеек A1: A3 в B1: B3:

123456789 Sub Paste_Range ()'Копирование и вставка диапазона ячеекДиапазон ("A1: A3"). Диапазон копирования ("B1: B3")'Вырезать и вставить диапазон ячеекДиапазон («A1: A3»). Диапазон отсечения («B1: B3»)Конец подписки

Копировать (вырезать) и вставлять весь столбец

Ниже мы продемонстрируем пару быстрых примеров. Прочтите нашу статью о копировании и вставке строк и столбцов, чтобы получить подробные примеры, объяснения и варианты.

В этом примере копируется или вырезается и вставляется весь столбец с A на B:

12345678910 Sub PasteOneColumn ()'Копировать и вставить столбецДиапазон ("A: A"). Копировать диапазон ("B: B")'Вырезать и вставить столбецДиапазон («A: A»). Диапазон отсечения («B: B»)Конец подписки

Копировать (вырезать) и вставлять всю строку

В этом примере копируется или вырезается и вставляется целая строка, от 1 до 2:

12345678910 Sub Paste_OneRow ()'Копировать и вставить строкуДиапазон ("1: 1"). Копировать диапазон ("2: 2")'Вырезать и вставить строкуДиапазон ("1: 1"). Диапазон обрезки ("2: 2")Конец подписки

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

1234567891011121314 Sub Paste_Other_Sheet_or_Book ()'Вырезать или скопировать и вставить на другой листРабочие листы ("sheet1"). Диапазон ("A1"). Копировать рабочие листы ("sheet2"). Range ("B1") 'КопироватьЛисты ("лист1"). Диапазон ("А1"). Вырезать листы ("лист2"). Диапазон ("В1") 'Вырезать'Вырезать или скопировать и вставить в другую книгуРабочие книги ("book1.xlsm"). Рабочие листы ("sheet1"). Диапазон ("A1"). Копировать _Рабочие книги ("book2.xlsm"). Рабочие листы ("sheet1"). Range ("B1") 'КопироватьРабочие тетради ("book1.xlsm"). Рабочие листы ("sheet1"). Диапазон ("A1"). Вырезать _Рабочие тетради ("book2.xlsm"). Рабочие листы ("sheet1"). Диапазон ("B1") 'ВырезатьApplication.CutCopyMode = FalseКонец подписки

Значение Вставить

Обычно при копировании и вставке вы вставляете все свойства ячейки: форматирование, формулы и т. Д. Вставка значений позволяет копировать и вставлять значения ячеек и ничего больше. Самый простой способ вставить значение в VBA - напрямую определить значение ячейки:

123456789101112131415 Sub ValuePaste ()'Значение Вставить ячейкиДиапазон ("B1"). Значение = Диапазон ("A1"). ЗначениеДиапазон ("B1: B3"). Значение = Диапазон ("A1: A3"). Значение'Установить значения между листамиРабочие листы ("лист2"). Диапазон ("А1"). Значение = Рабочие листы ("лист1"). Диапазон ("А1"). Значение'Установка значений между книгамиРабочие книги ("book2.xlsm"). Рабочие листы ("sheet1"). Range ("A1"). Value = _Рабочие книги ("book1.xlsm"). Рабочие листы ("sheet1"). Range ("A1"). ValueApplication.CutCopyMode = FalseКонец подписки

Специальная вставка

Специальная вставка позволяет копировать и вставлять определенные свойства ячеек (примеры: форматы, значения, ширину столбцов и т. Д.). Он также позволяет выполнять специальные операции вставки (примеры: пропускать пробелы, транспонировать). Мы рассмотрим несколько примеров ниже, но для более подробной информации прочтите наш учебник по «Вставка значений» и «Специальная вставка».

12345678910111213141516171819 Sub PasteSpecial ()'Выполните одну специальную операцию вставки:Диапазон ("A1"). Копировать'Вставить форматыДиапазон ("B1"). PasteSpecial Paste: = xlPasteFormats'Вставить ширину столбцаДиапазон ("B1"). PasteSpecial Paste: = xlPasteColumnWidths'Вставить формулыДиапазон ("B1"). PasteSpecial Paste: = xlPasteFormulas'Одновременное выполнение нескольких специальных операций вставки:Диапазон ("A1"). Копировать'Вставить форматы и транспонироватьДиапазон ("B1"). PasteSpecial Paste: = xlPasteFormats, Operation: = xlNone, SkipBlanks: = _Ложь, Транспонировать: = ИстинаApplication.CutCopyMode = FalseКонец подписки

Очистить буфер обмена

После копирования и вставки вы можете очистить буфер обмена (мы это делаем в некоторых приведенных выше примерах кода). Чтобы очистить буфер обмена Excel, мы устанавливаем Application.CutCopyMode в False:

1 Application.CutCopyMode = False

Это очистит буфер обмена Excel. Однако это не очистит буфер обмена Windows. Чтобы очистить буфер обмена окна, следуйте инструкциям здесь.

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave