Зміст
Коли ми маємо справу з декількома таблицями Excel, іноді доводиться копіювати дані з однієї таблиці в іншу. VBA це найефективніший, найшвидший і найбезпечніший спосіб виконати будь-яку операцію в Excel. У цій статті ми покажемо вам, як копіювати та вставляти дані з одного аркуша на інший в Excel за допомогою Макрос VBA .
Завантажити Робочий зошит
Ви можете завантажити безкоштовну практичну книгу Excel тут.
Копіювання та вставка з одного аркуша на інший.xlsm
15 способів за допомогою VBA для копіювання та вставки даних з одного аркуша на інший в Excel
У цьому розділі ви дізнаєтесь 15 методів, як ви можете копіювати дані з одного аркуша та вставляти їх в інший з VBA в Excel.
Вище наведено набір даних, який ми розглянемо як приклад у цій статті.
1. вбудовування макросу VBA для копіювання та вставки діапазону даних з одного аркуша на інший
Кроки до копіювати та вставляти діапазон даних з одного аркуша на інший за допомогою VBA описані нижче.
Сходинки:
- На початку натисніть Alt + F11 на клавіатурі або перейдіть на вкладку Розробник - Visual Basic відкрити Редактор Visual Basic .
- У вікні коду, що з'явилося, в рядку меню натисніть Вставка -> Модуль .
- Негайно, скопіюйте наступний код і паста його в вікно коду .
Sub КопіюватиВставитиНаІншийАркуш() Аркуші("Набір даних").Діапазон("B2:F9").Копіювати Аркуші("КопіюватиВставити").Діапазон("B2") End Sub
Ваш код тепер готовий до запуску.
Цей фрагмент коду дозволить скопіювати діапазон від B2 до F9 від аркуш з назвою Набір даних і вставити їх у B2 Діапазон в КопіюватиВставити іменний аркуш .
- Потім натисніть F5 на клавіатурі або в рядку меню виберіть Виконати -> Run Sub/UserForm Ви також можете просто натиснути на кнопку маленька іконка відтворення в рядку підменю для запуску макросу.
Подивіться на наступне зображення.
Нарешті, всі дані, отримані від Набір даних аркуш тепер копіюється в КопіюватиВставити у нашій робочій книзі Excel.
Читати далі: Excel VBA: копіювання діапазону в іншу книгу
2. Макрос VBA для копіювання та вставки даних з одного активного аркуша на інший в Excel
У попередньому розділі ми не вимагали активації робочого аркуша, але в цьому розділі ми дізнаємося, як копіювати та вставляти дані на активному аркуші .
Сходинки:
- Як і раніше, відкрито Редактор Visual Basic від Розробник вкладка та Вставка a Модуль у вікні коду.
- У вікні коду, скопіюйте наступний код і паста це.
Sub CopyPasteToAnotherActiveSheet() 'Копіювати дані з вихідного аркуша Sheets("Dataset").Range("B2:F9").Copy 'Активувати аркуш призначення Sheets("Paste").Activate 'Вибрати діапазон призначення Range("B2").Select 'Вставити в аркуш призначення ActiveSheet.Paste Application.CutCopyMode = False End Sub
Ваш код тепер готовий до запуску.
- Наступний, Біжи код, як показано вище, і побачите результат на наступному зображенні.
Цього разу всі дані, отримані від Набір даних аркуш тепер копіюється в Паста який ми активували перед копіюванням даних.
Читати далі: Формула Excel для копіювання тексту з однієї комірки на інший аркуш
3. Копіювання та вставка однієї комірки з одного аркуша на інший в Excel за допомогою макросу VBA
У попередніх розділах ви навчилися копіювати та вставляти дані з одного аркуша на інший. Тепер ви дізнаєтеся, як скопіювати та вставити, коли у вас є єдиний масив даних у вашій таблиці Excel.
Подивіться на наступне зображення, на якому Діапазон аркуш складається тільки з одного значення.
Подивимося, як ми зможемо скопіювати та вставити цю комірку на інший аркуш в Excel з VBA .
Сходинки:
- Як показано вище, відкриті Редактор Visual Basic від Розробник вкладка та Вставка a Модуль у вікні коду.
- У вікні коду, скопіюйте наступний код і паста
Sub CopyPasteSingleRangeToAnotherSheet() Worksheets("Range").Range("B4").Copy Worksheets("CopyRange").Range("B2") End Sub
Ваш код тепер готовий до запуску.
- Наступний, Біжи цей фрагмент коду і зверніть увагу на наступне зображення.
Що єдині дані " Скопіюйте цю комірку " в Комірка B4 в Набір даних аркуш тепер копіюється в Діапазон копіювання аркуш в Осередок B2 .
Читати далі: Excel VBA для копіювання тільки значень у місце призначення (макрос, UDF і UserForm)
4 Вставка скопійованих даних з одного аркуша на інший за допомогою спеціального методу PasteSpecial в макросі Excel
Ви можете копіювати дані з одного аркуша та вставляти їх різними способами з Excel'ом PasteSpecial метод з VBA Кроки для цього наведені нижче.
Сходинки:
- По-перше, відкрити Редактор Visual Basic від Розробник вкладка та Вставка a Модуль у вікні коду.
- Другий, скопіюйте наступний код і паста його у вікно коду.
Sub CopyPasteSpecial() Аркуші("Набір даних").Діапазон("B2:F9").Копіювати Аркуші("Спеціальна вставка").Діапазон("B2").Спеціальна вставка End Sub
Ваш код тепер готовий до запуску.
- Наступний, Біжи цей шматок коду.
Подивіться на малюнок вище. Дані з Набір даних аркуш тепер передається в PasteSpecial в Excel.
Читати далі: Спеціальна вставка VBA для копіювання значень і форматів в Excel (9 прикладів)
5. Макрос для копіювання та вставки даних нижче останньої комірки з одного аркуша на інший в Excel
Ми вже маємо деякі дані в Набір даних Тепер подивіться на наступну частину цього розділу. Тепер у нас є деякі нові дані на іншому аркуші, який називається Остання клітина .
Що ми хочемо тут зробити, так це скопіювати конкретні дані (комірки з B5 по F9) від Набір даних аркуш та паста тих, хто в нижче останньої комірки цього Остання клітина простирадло.
Сходинки:
- По-перше, відкрити Редактор Visual Basic від Розробник вкладка та Вставка a Модуль у вікні коду.
- По-друге, скопіюйте наступний код і паста його у вікно коду.
Sub CopyPasteBelowTheLastCell() 'Встановити змінні Dim wsSource As Worksheet Dim wsTarget As Worksheet Dim iSourceLastRow As Long Dim iTargetLastRow As Long 'Встановити змінні для вихідного та цільового аркушів Set wsSource = Worksheets("Dataset") Set wsTarget = Worksheets("Last Cell") 'Знайти останній використаний рядок у вихідному аркуші на основі даних стовпчика B iSourceLastRow = wsSource.Cells(wsSource.Rows.Count,"B").End(xlUp).Row 'Знайти перший порожній рядок у цільовому аркуші на основі даних у стовпці B 'Властивість Offset - перемістити скопійовані дані на 1 рядок вниз iTargetLastRow = wsTarget.Cells(wsTarget.Rows.Count, "B").End(xlUp).Offset(1).Row 'Скопіювати дані з джерела та вставити в цільовий wsSource.Range("B5:F9" & iSourceLastRow).Copy wsTarget.Range("B" & iTargetLastRow) End Sub
Ваш код тепер готовий до запуску.
- Наступний, Біжи цей код. Подивіться на зображення нижче.
Тут, на жаль, тільки вибрані дані з Набір даних аркуш зараз скопійовано під останньою коміркою в Остання клітина аркуш в Excel.
Читати далі: Формула для копіювання та вставки значень в Excel (5 прикладів)
6. макрос VBA для очищення аркуша, а потім копіювання та вставки на інший аркуш
Що робити, якщо в існуючому аркуші є неправильні дані, і ви хочете витягти звідти оригінальні дані.
Подивіться на наступне зображення. Ми будемо очистити дані з Чистий діапазон і зберігати тут дані, отримані з Набір даних аркуш з VBA код.
Сходинки:
- По-перше, відкрити Редактор Visual Basic від Розробник вкладка та Вставка a Модуль у вікні коду.
- По-друге, скопіюйте наступний код і паста його у вікно коду.
Sub ClearAndCopyPasteData() 'Встановлення змінних Dim wsSource As Worksheet Dim wsTarget As Worksheet Dim iSourceLastRow As Long Dim iTargetLastRow As Long 'Встановлення змінних для вихідного та цільового аркушів Set wsSource = Worksheets("Dataset") Set wsTarget = Worksheets("Clear Range") 'Знайти останній використаний рядок у вихідному аркуші на основі даних у стовпці B iSourceLastRow = wsSource.Cells(wsSource.Rows.Count,"B").End(xlUp).Row 'Знайти перший порожній рядок в аркуші призначення на основі даних в стовпці B 'Властивість Offset - перемістити скопійовані дані на 1 рядок вниз iTargetLastRow = wsTarget.Cells(wsTarget.Rows.Count, "B").End(xlUp).Offset(1).Row 'Очистити дані з діапазону призначення wsTarget.Range("B5:F9" & iTargetLastRow).ClearContents 'Скопіювати дані з джерела та вставити в призначенняwsSource.Range("B5:F9" & iSourceLastRow).Copy wsTarget.Range("B5") End Sub
Ваш код тепер готовий до запуску.
- Наступний, Біжи Подивіться на цей шматок коду. Подивіться на наступне зображення.
Попередні дані в Чистий діапазон тепер замінюється даними з Набір даних простирадло.
Читати далі: Макрос для копіювання даних з однієї книги в іншу на основі критеріїв
7. макрос для копіювання та вставки даних з одного аркуша на інший за допомогою функції Range.Copy
Зараз ми дізнаємось про VBA код про те, як копіювати та вставляти дані з одного аркуша на інший з Range.Copy в Excel.
Сходинки:
- По-перше, відкрити Редактор Visual Basic від Розробник вкладка та Вставка a Модуль у вікні коду.
- По-друге, скопіюйте наступний код і паста його у вікно коду.
Sub CopyWithRangeCopyFunction() 'Встановлення змінних Dim wsSource As Worksheet Dim wsTarget As Worksheet 'Встановлення змінних для вихідного та цільового аркушів Set wsSource = Worksheets("Набір даних") Set wsTarget = Worksheets("Копіювати діапазон") 'Копіюємо дані з джерела та вставляємо в цільовий Call wsSource.Range("B2:F9").Copy(wsTarget.Range("B2")) End Sub
Ваш код тепер готовий до запуску.
- Наступний, Біжи цей фрагмент коду і подивіться на наступне зображення.
Ми успішно продублювали дані з Набір даних аркуша в Діапазон копіювання аркуш із зображенням Range.Copy функцію.
Читати далі: Формула Excel для копіювання значення комірки в іншу комірку
Схожі читання
- Excel VBA для копіювання рядків на інший аркуш на основі критеріїв
- Використання VBA для вставки значень без форматування в Excel
- Як копіювати та вставляти тільки видимі комірки в Excel (3 простих способи)
- Не працює копіювання та вставка в Excel (9 причин та шляхи вирішення)
- Як скопіювати кілька рядків в Excel за допомогою макросу (4 приклади)
8. реалізація макрокоду для дублювання даних з одного аркуша на інший з властивістю USEDRANGE
Цього разу ми дізнаємося про VBA код про те, як копіювати та вставляти дані з одного аркуша на інший з UsedRange в Excel.
Сходинки:
- По-перше, відкрити Редактор Visual Basic від Розробник вкладка та Вставка a Модуль у вікні коду.
- Другий, скопіюйте наступний код і паста його у вікно коду.
Sub CopyWithUsedRange() 'Встановлення змінних Dim wsSource As Worksheet Dim wsTarget As Worksheet 'Встановлення змінних для вихідного та цільового аркушів Set wsSource = Worksheets("Dataset") Set wsTarget = Worksheets("UsedRange") 'Копіювання даних з джерела та вставка в цільовий Call wsSource.UsedRange.Copy(wsTarget.Cells(2, 2)) End Sub
Ваш код тепер готовий до запуску.
- Наступний, Біжи цей шматок коду.
Як ми бачимо на малюнку вище, ми успішно скопіювали і вставили дані з Набір даних аркуша в UsedRange аркуш із зображенням ВИКОРИСТАННЯ власність.
Читати далі: Як скопіювати однакове значення в декілька комірок в Excel (4 способи)
9. Макрос VBA для копіювання та вставки виділених даних з одного аркуша на інший в Excel
Ви можете копіювати та вставляти лише деякі вибрані дані з одного аркуша на інший з VBA Кроки для цього наведені нижче.
Сходинки:
- По-перше, відкрити Редактор Visual Basic від Розробник вкладка та Вставка a Модуль у вікні коду.
- Другий, скопіюйте наступний код і паста його у вікно коду.
Sub CopyPasteSelectedData() 'Встановлення змінних Dim wsSource As Worksheet Dim wsTarget As Worksheet 'Встановлення змінних для аркуша-джерела та аркуша-приймача Set wsSource = Worksheets("Набір даних") Set wsTarget = Worksheets("Вставити виділене") 'Копіювання даних з джерела wsSource.Range("B4:F7").Copy 'Вставка даних в приймач Call wsTarget.Range("B2").PasteSpecial(Paste:=xlPasteValues) End Sub
Ваш код тепер готовий до запуску.
Цей кодекс буде копіюється тільки діапазон від B4 до F7 від Набір даних аркуш та вставити їх у B2 Діапазон в ВставитиВибране іменний аркуш .
- Наступний, Біжи цей код.
Нарешті, лише вибрані дані з Набір даних аркуші успішно копіюються і вставляються в Вибрана вставка аркуша в робочій книзі Excel.
Читати далі: Як застосувати VBA PasteSpecial і зберегти вихідне форматування в Excel
10. макрокод для дублювання даних з одного аркуша на інший у першому порожньому рядку
Тут ми побачимо, як копіювати дані від Набір даних аркуш та паста тих, хто перебуває в перша порожня комірка на іншому аркуші в Excel з VBA .
Сходинки:
- По-перше, відкрити Редактор Visual Basic від Розробник вкладка та Вставка a Модуль у вікні коду.
- Другий, скопіюйте наступний код і паста його у вікно коду.
Sub FirstBlankCell() Range("B2:F9", Range("B" & Rows.Count).End(xlUp)).Copy Sheet13.Range("A65536").End(xlUp) End Sub
Ваш код тепер готовий до запуску.
- Наступний, Біжи цей шматок коду.
Див. на зображенні вище. Лист13 В результаті виконаний код вставив скопійовані дані з Набір даних аркуша в самісінькому перша клітина в Лист13 в Excel.
Читати далі: Копіювання та вставка значень у наступний порожній рядок в Excel VBA (3 приклади)
11. вбудувати VBA для копіювання та вставки автоматично відфільтрованих даних з одного аркуша Excel на інший
Ми можемо відфільтрувати вихідний набір даних і скопіювати та вставити тільки відфільтровані дані на інший аркуш У цій статті ви дізнаєтеся, як це зробити крок за кроком за допомогою VBA .
Сходинки:
- По-перше, відкрити Редактор Visual Basic від Розробник вкладка та Вставка a Модуль у вікні коду.
- Другий, скопіюйте наступний код і паста його у вікно коду.
Option Explicit Sub AutoFilter() Range("B4:B101").AutoFilter 1, "Dean" Range("B4:F9").Copy Sheet17.Range("B" & Rows.Count).End(xlUp)(2) Range("B4").AutoFilter End Sub
Ваш код тепер готовий до запуску.
- Наступний, Біжи Тільки той рядок, який має " Дін. " в ньому, буде відфільтровано та скопійовано на інший аркуш.
Зверніть увагу на наведеному вище зображенні. Відображаються тільки відфільтровані дані " Дін. " від Колонка B зараз скопійовано і вставлено в Лист15 простирадло.
Читати далі: Як копіювати та вставляти в Excel за допомогою VBA (7 способів)
Схожі читання
- Як відфільтрувати та скопіювати видимі рядки за допомогою Excel VBA
- Копіювання унікальних значень на інший аркуш в Excel (5 способів)
- Як скопіювати об'єднані та відфільтровані комірки в Excel (4 способи)
- Помилка під час виконання 1004: PasteSpecial Method of Range Class Failed
- Як вставити посилання та перенесення в Excel (8 швидких способів)
12. вставити рядок в кінці діапазону, зберігаючи скопійовану формулу з верхнього діапазону
Коли ви хочете скопіювати значення і зберегти формулу всередині нього при цьому вставляючи його в інший ряд, потім з VBA код, ви зможете легко виконати завдання.
Сходинки:
- По-перше, відкрити Редактор Visual Basic від Розробник вкладка та Вставка a Модуль у вікні коду.
- Другий, скопіюйте наступний код і паста його у вікно коду.
Sub PasteRowWithFormulaFromAbove() Rows(Range("B" & Rows.Count).End(xlUp).Row).Copy Rows(Range("B" & Rows.Count).End(xlUp).Row + 1).Insert xlDown End Sub
Ваш код тепер готовий до запуску.
- Наступний, Біжи цей код і подивіться на зображення нижче.
На сьогоднішній день, на жаль, це не так. останній рядок копіюється точно так, як він є у сусідньому ряду.
Читати далі: Як автоматично скопіювати дані з однієї комірки в іншу в Excel
13. Реплікація даних з одного аркуша на інший в іншій відкритій, але не збереженій книзі за допомогою VBA
Зверніть увагу на назву нашого прикладу робочого зошита, Вихідна робоча книга Ми скопіюємо дані з Набір даних аркуша з цієї книги і вставити його в інший аркуш в іншій книзі з ім'ям Робоча книга призначення тобто відкрито, але ще не збережено .
Сходинки:
- По-перше, відкрити Редактор Visual Basic від Розробник вкладка та Вставка a Модуль у вікні коду.
- Другий, скопіюйте наступний код і паста його у вікно коду.
Sub КопіюватиОднуЗіншоїНеЗбережено() Аркуші("Вихідна книга").Аркуші("Набір даних").Діапазон("B2:F9").Копіювати Аркуші("Кінцева книга").Аркуші("Лист1").Діапазон("B2") End Sub
Ваш код тепер готовий до запуску.
- Наступний, Біжи цей код.
Дані, отримані від Набір даних аркуша в Вихідна робоча книга зараз копіюється в Аркуш1 аркуша в Робоча книга призначення .
Читати далі: Excel VBA: копіювання значення комірки та вставка в іншу комірку
14. макрос для відтворення даних з одного аркуша на інший аркуш в іншій відкритій та збереженій книзі
Цього разу ми будемо скопіювати дані від Набір даних аркуш від Вихідна робоча книга і паста його в Лист2 робочого аркуша в Робоча книга призначення Але тепер, коли книга відкрита та збережена .
Сходинки:
- По-перше, відкрити Редактор Visual Basic від Розробник вкладка та Вставка a Модуль у вікні коду.
- Другий, скопіюйте наступний код і паста його у вікно коду.
Sub КопіюватиОднуЗіншоїЗбереженої() Книги("Вихідна книга.xlsm").Аркуші("Набір даних").Діапазон("B2:F9").Копіювати _ Книги("Кінцева книга.xlsx").Аркуші("Аркуш2").Діапазон("B2") End Sub
Ваш код тепер готовий до запуску.
- Наступний, Біжи цей код.
Дані, отримані від Набір даних аркуша в Вихідна робоча книга зараз копіюється в Лист2 аркуша в Робоча книга призначення І подивіться на назву, це робоча книга була збережена цього разу.
Читати далі: Як скопіювати і вставити в Excel без зміни формату
15. застосування VBA для копіювання та вставки даних з одного аркуша на інший аркуш в іншій закритій книзі
У попередніх двох розділах ми дізналися, як копіювати і вставляти дані з одного аркуша на інший в іншій відкритій книзі. У цьому розділі ми вивчимо код, який показує, як копіювати та вставляти дані при закритій книзі .
Сходинки:
- По-перше, відкрити Редактор Visual Basic від Розробник вкладка та Вставка a Модуль у вікні коду.
- Другий, скопіюйте наступний код і паста його у вікно коду.
Sub CopyOneFromAnotherClosed() 'Щоб відкрити робочу книгу, збережену у вашій системі, 'змініть шлях нижче відповідно до розташування файлу у вашій системі Workbooks.Open "D:\ExcelWIKI\Excel Folder\Destination Workbook.xlsx" 'Копіює дані з робочої книги з іменем Source Workbook та 'вставляє їх у цільову робочу книгу з іменем Destination Workbooks("SourceКнига").Рабочиелисты("Набор данных").Диапазон("B2:F9").Копировать Рабочиелисты("Книга назначения").Рабочиелисты("Лист3").Диапазон("B2") 'Закрити цільову книгу після збереження Рабочиелисты("Книга назначения").Закрыть СохранитьЗменения:=Истина End Sub
Ваш код тепер готовий до запуску.
- Наступний, Біжи цей код.
Хоча цього разу робоча книга була закрита, але все одно після виконання коду дані з Набір даних аркуша в Вихідна робоча книга зараз копіюється в Лист3 аркуша в Робоча книга призначення .
Читати далі: Excel VBA для копіювання даних з іншої книги без відкриття
Важливі моменти для запам'ятовування
- Методи з 1 по 14 вимагають, щоб ваші робочі книги були відкриті При виконанні макрокодів, показаних у цих методах, не забувайте тримати відкритими як вихідну, так і цільову книги.
- У той час як ваш робочі книги зберігаються, то запишіть ім'я файлу із зазначенням типу файлу всередині коду. робочі книги не зберігаються, то напишіть тільки ім'я файлу без вказівки типу файлу. Наприклад, якщо ваш книга збережена потім напишіть " Пункт призначення. xlsx ", але якщо в робоча книга не зберігається потім напишіть " Пункт призначення " всередині коду.
Висновок
У цій статті ви дізнаєтеся, як копіювати та вставляти дані з одного аркуша на інший в Excel з VBA Сподіваюся, ця стаття була для вас дуже корисною. Не соромтеся запитувати, якщо у вас виникнуть запитання щодо цієї теми.