Як за допомогою vba скопіювати дані з однієї книги в іншу, sirexcel

Завдання полягає в тому, щоб скопіювати певний діапазон поточного листа, відкрити іншу книгу, і вставити ці скопійовані дані в певну комірку, зберегти цей файл і закрити. Нижче наведено код VBA.

Варіант 2: В відкрилася книзі запускаємо макрос, щоб він відкрив потрібну нам книгу, скопіював звідти потрібні нам дані і вставив в нашу відкриту книгу, закривши файл з якого ці дані були скопійовані

Ще приклад - Скопіювати діапазони даних з активною відкритою книги Excel кількох аркушів (в нашому прикладі 3-х листів) в іншу книгу, яка зберігається в певному місці. Дані будуть вставлені як значення, плюс будуть перенесені формати осередків.

Дякуємо за увагу.

Вітаю! Допоможіть, будь ласка, у вирішенні завдання:

Є 2 файли. У першому файлі зберігаються стовпці з даними, файл щодня оновлюється даними. У другому - підсумкова таблиця. Потрібно автоматично копіювати стовпці з першого файлу і вставити в кінець таблиці другого.

Потрібен макрос, щоб після натискання, копіював дані з певного статичного стовпця в активний стовпець (на якому стоїть курсор).

Доброго вам дня.

Підкажіть будь ласка код макросу з наступним функціоналом:

Є кілька документів. Перший документ - база з усіма даними, а решта - документи в яких потрібно скопіювати деякі дані з бази.

На словах макрос я б описав так:

Відкриваємо документ «База» вкладка «Лист1» копіюємо значення осередку С15, після чого вставляємо її в документ «Звіт» вкладка «Дані» в поле F19.

Відкриваємо документ «База» вкладка «Лист1» копіюємо значення осередку С18, після чого вставляємо її в документ «Звіт» вкладка «Дані» в поле D20.

Відкриваємо документ «База» вкладка «Лист1» копіюємо значення осередку С24, після чого вставляємо її в документ «Звіт» вкладка «Дані» в поле L3.

Так, необхідно копіювати тільки значення (стиль і так далі не потрібно) І якщо наприклад в базі якась осередок стала порожньою, то на порожнечу необхідно замінити значення, що було прописано раніше в інших документах.

У програмуванні не сильний, якщо можна з коротким поясненням.

Приклад доклав. Значення цифрові і текстові, можуть бути одночасно. Повинні бути скопійовані в незмінному вигляді (як в прикладі). Поля Параметр 2, Параметр 3 і т.д. ролі не грають. Цим я просто показав що осередки можуть перебувати в різних місцях.

Так, в прикладі імена людей збігаються, але в реальності вони можуть відрізнятися, тому то я і прошу скрипт із зазначенням з якою в яку комірку копіювати дані. Положення в списку як правило не змінюється.

Добрий вечір. Це знову я.

З'явилася нова задача. Є файл джерело в якому є дані.

Той макрос, який Ви допомогли запустити копіює тільки з цього, певного файлу.

А можна зробити так, щоб макрос працював з будь-якого іншого файлу.

Тобто я копіюю макрос в інший файл, а він зберігає в окремий.

немає. все одно замінює.

може Ви можете допомогти трохи по іншому.

Ось макрос, який копіює потрібний діапазон і копіює в потрібну книгу.

АЛЕ як і в першому варіанті треба, після зміни в основному файлі даних, вставляти не в тугіше рядок, а в наступну.

Sub Кнопка2 Клацання ()

'Кнопка2_Щелчок Макрос

'Швидкий доступ: Ctrl + j

Workbooks.Open Filename: = "C: \ Users \ Slava \ Desktop \ Neuer Ordner \ 1.xlsm"

Selection.PasteSpecial Paste: = xlPasteColumnWidths, Operation: = xlNone, _

може бути так простіше?

Ні, не простіше. Перевірте ще раз уважно. В мене все працює. Дані не замінюються, а вставляються в наступні рядок.

Зараз, до речі помітив, що треба брати не G5000, а F5000 так як в стовпці G нічого не вставляється, тому він і замінює дані, так як останній рядок завжди одна і та ж

Добрий вечір. Хочу Вам подякувати. Все вийшло.

Тільки я методом «тику» змінив трохи код. А саме ось цей рядок

iLastRow = Workbooks ( «Кніга1.xlsm»). Worksheets ( «Лист1»). Range ( «F5000»). End (xlUp) .Row + 1

Ще раз дякую.

Щось не виходить. Напевно я десь не те зробив, доходить до виділення копіювання діапазону листа з якого потрібно скопіювати і пише 400 помилку.

Ось такий код я вставив:

'Відкриваємо файл з якого потрібно скопіювати дані

Workbooks.Open Filename: = "C: \ Централь - 2с і 1,2,3п.xls"

'Скопіювати потрібний діапазон в відкрилася книзі на аркуші 1

'Активуємо потрібну нам книгу

Workbooks ( «Новий бланк.xls»). Activate

'Виділяємо і вставляємо скопійовані дані в осередок А1

ActiveWorkbook.Worksheets ( «Позовна заява»). Range ( "A1"). Select

'Закриваємо книгу звідки ми скопіювали дані

Workbooks ( «Централь - 2с і 1,2,3п.xls»). Close

Централь - 2с і 1,2,3п.xls - це файл з якого потрібно скопіювати.

2с і 1п лист з якого потрібно скопіювати в вищезгаданому файлі

Новий бланк.xls це документ в який потрібно скопіювати

Позовна заява - це лист в файлі Новий бланк в який потрібно скопіювати виділений вище лист.