- Скопіювати (вирізати) та вставити одну клітинку
- Копіювати виділення
- Скопіювати (вирізати) та вставити діапазон клітинок
- Скопіювати (вирізати) та вставити цілу колонку
- Скопіювати (вирізати) та вставити цілу рядок
- Скопіювати (вирізати) та вставити на інший аркуш або книгу
- Вставка значення
- Спеціальна вставка
У цьому посібнику ви дізнаєтесь кілька різних методів Копіювати та вставляти та Вирізати та вставляти за допомогою макросу VBA. Прочитайте посібник -супровідник щодо вставки значень та PasteSpecial, щоб отримати додаткові можливості копіювання та вставки.
Щоб використовувати цей код: Відкрийте редактор Visual Basic (Alt + F11), Вставте новий модуль (Вставка> Модуль) та скопіюйте та вставте потрібний код у модуль.
Скопіювати (вирізати) та вставити одну клітинку
У цьому прикладі копіюється або вирізається та вставляється одна клітинка, A1 до B1:
123456789 | Sub Paste_OneCell ()'Копіювати та вставляти одноклітинніДіапазон ("A1"). Діапазон копіювання ("B1")'Вирізати та вставити одну клітинкуДіапазон ("A1"). Діапазон вирізання ("B1")End Sub |
Копіювати виділення
Якщо ви хочете скопіювати активний вибір, скористайтесь цим:
123456789101112 | Sub CopySelection ()'Вставити у визначений діапазонДіапазон Selection.copy ("b1")'Вставка зсуву (зміщує 2 клітинки вниз і 1 праворучSelection.copyВибір. Зміщення (2,1) .пастаApplication.CutCopyMode = НеправдаEnd 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"). Діапазон скорочень ("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"). Діапазон ("А1"). Копіювати робочі аркуші ("аркуш2"). Діапазон ("В1") "КопіюватиРобочі аркуші ("аркуш1"). Діапазон ("А1"). Вирізати аркуші ("аркуш2"). Діапазон ("В1") "Вирізати'Вирізати або скопіювати та вставити в іншу книгуРобочі зошити ("book1.xlsm"). Робочі аркуші ("аркуш1"). Діапазон ("A1"). Копіювати _Робочі зошити ("book2.xlsm"). Робочі аркуші ("аркуш1"). Діапазон ("B1") 'КопіяРобочі зошити ("book1.xlsm"). Робочі аркуші ("аркуш1"). Діапазон ("A1"). Вирізати _Робочі зошити ("book2.xlsm"). Робочі аркуші ("аркуш1"). Діапазон ("B1") "ВирізатиApplication.CutCopyMode = НеправдаEnd Sub |
Вставка значення
Зазвичай, під час копіювання та вставлення, ви вставляєте усі властивості клітинки: форматування, формули тощо… Вставка значень дозволяє копіювати та вставляти значення клітинок і більше нічого. Найпростіший спосіб вставити значення у VBA - це безпосередньо визначити значення комірки:
123456789101112131415 | Додатковий параметр ValuePaste ()'Ячейки вставки значенняДіапазон ("B1"). Значення = Діапазон ("A1"). ЗначенняДіапазон ("B1: B3"). Значення = Діапазон ("A1: A3"). Значення'Встановіть значення між аркушамиРобочі аркуші ("аркуш2"). Діапазон ("А1"). Значення = Робочі аркуші ("аркуш1"). Діапазон ("А1"). Значення'Встановіть значення між робочими книгамиРобочі зошити ("book2.xlsm"). Робочі аркуші ("аркуш1"). Діапазон ("A1"). Значення = _Робочі зошити ("book1.xlsm"). Робочі аркуші ("аркуш1"). Діапазон ("A1"). ЗначенняApplication.CutCopyMode = НеправдаEnd 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 = НеправдаEnd Sub |
Очистити буфер обміну
Після копіювання та вставки ви можете очистити буфер обміну (ми робимо це у деяких прикладах коду вище). Щоб очистити буфер обміну Excel, ми встановили для Application.CutCopyMode значення False:
1 | Application.CutCopyMode = Неправда |
Це очистить буфер обміну Excel. Однак він не очистить буфер обміну Windows. Щоб очистити буфер обміну вікна, виконайте вказівки тут.