У цій статті буде показано, як використовувати VBA для копіювання діапазону клітинок на інший аркуш або книгу.
Для отримання додаткової інформації прочитайте наш підручник з копіювання та вставки VBA.
Копіювати в існуючий аркуш
Щоб скопіювати діапазон комірок з одного аркуша на інший аркуш, який вже існує, ми можемо скористатися таким кодом:
123456 | Sub CopyAndPasteActiveSheet.Range ("A1: D10"). ВиберітьВибір. КопіюватиАркуші ("Аркуш2"). ВиберітьActiveSheet.PasteEnd Sub |
Це дозволить скопіювати інформацію, що зберігається в діапазоні активного аркуша A1: D10, і вставити її в існуючий Аркуш2. Оскільки ми не вказали діапазон для вибору у Аркуші 2, він автоматично вставить його в Діапазон (“A1”). Він також вставить будь -яке форматування у Аркуш 2, який був у діапазоні у Аркуші 1.
Якщо ми хочемо вставити його в інше місце на аркуші 2, ми можемо вибрати початкову клітинку або діапазон для вставки. Наведений нижче код вставить інформацію, починаючи з комірки E2.
1234567 | Sub CopyAndPasteToRangeActiveSheet.Range ("A1: D10"). ВиберітьВибір. КопіюватиАркуші ("Аркуш2"). ВиберітьДіапазон ("E1"). ВиберітьActiveSheet.PasteEnd Sub |
Щоб просто вставити значення в Аркуш 2 і не включати форматування, ми можемо використовувати наступний код. Знову ж таки, нам не потрібно вказувати діапазон для сторінки, якщо ми хочемо вставити в клітинку A1.
123456 | Sub CopyAndPasteValuesActiveSheet.Range ("A1: D10"). ВиберітьВибір. КопіюватиАркуші ("Аркуш2"). ВиберітьSelection.PasteSpecial Paste: = xlPasteValuesEnd Sub |
Копіювати на новий аркуш
Щоб скопіювати, а потім вставити на новий аркуш, ми можемо використовувати такий код:
123456 | Sub CopyAndPasteNewSheetActiveSheet.Range ("A1: D10"). ВиберітьВибір. КопіюватиТаблиці. Додати після: = ActiveSheetActiveSheet.PasteEnd Sub |
Щоб просто скопіювати значення, ми можемо ще раз використати xlPasteValues.
Копіювати до наявної робочої книги
Щоб повністю скопіювати та вставити в іншу книгу, ми можемо або відкрити обидві книги, або скористатися кодом, щоб відкрити іншу книгу, а потім вставити у цю книгу.
Цей код нижче копіюється у вже відкриту книгу.
1234567 | Sub CopyAndPasteExistingBookДіапазон ("A1: D10"). ВиберітьВибір. КопіюватиWindows ("CombinedBranches.xlsx"). АктивуйтеТаблиці. Додати після: = ActiveSheetActiveSheet.PasteEnd Sub |
Програмування VBA | Генератор коду працює для вас!
Цей код нижче копіюватиме та вставлятиме на новий аркуш у другій книзі, яка буде відкрита кодом.
1234567 | Sub CopyAndPasteOpenWorkbookДіапазон ("A1: D9"). ВиберітьВибір. КопіюватиWorkbooks.Open Filename: = "C: \ ExcelFiles \ CombinedBranches.xlsx"Таблиці. Додати після: = ActiveSheetActiveSheet.PasteКінцевий аркуш |
ПОРАДА: замініть ім’я файлу у робочих книгах. Відкрийте аргумент на власне ім’я файлу!
Копіювати у нову книгу
Ми також можемо скопіювати та вставити до нової книги.
123456 | Sub CopyAndPasteNewWorkbookДіапазон ("A1: D9"). ВиберітьВибір. КопіюватиРобочі зошити.ДодатиActiveSheet.PasteEnd Sub |