Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/47: Рейтинг темы: голосов - 47, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 23.07.2018
Сообщений: 5
Excel

Копирование диапазона ячеек из одной книги в другую

22.07.2019, 17:56. Показов 9728. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Есть два файла, первый файл является "сборщиком" то есть таблицей куда переносятся значения, второй же является "донором", то есть файлом откуда переносятся данные в файл сборщика.

Файлов доноров много, они одинаковые по своей внутренней структуре (количество строк, столбцов, их наименования и положение на листе excel) но у всех них разные названия.

Мне необходим макрос который позволит из файла "донора" скопировать определенные диапазоны (их много) ячеек в файл "сборщика", но моих знаний в написании макроса не хватает, я нашел вот такой:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub Название_Макроса()
'Выделить диапазон который необходимо скопировать
Range("A1:F52").Select
'Скопировать то, что выделено
Selection.Copy
ChDir "путь к папке где лежит файл в который необходимо скопировать"
Workbooks.Open Filename:= "Название файла, который находится в папке, путь к которой указан выше"
'Выделить начальную ячейку в которую необходимо вставить скопированные данные
Range("A6").Select
'Вставить данные
ActiveSheet.Paste
End Sub
но он позволяет скопировать только один диапазон за "раз", а мне необходимо что бы он копировал несколько диапазонов подряд, к примеру:

из таблицы донора копируется диапазон c9:r10 и вставляется в таблицу сборщика в диапазон с10:r11, потом, из таблицы донора, копируется диапазон c11:r12 и вставляется в таблицу сборщика в диапазон c12:r13 и так далее.

Проблема в том что я не понимаю как сделать так что бы макрос обращался сначала к таблице донору потом к таблице сборщику и снова к таблице донору, самая загвоздка в том что у доноров всегда названия разные, если бы у двух таблиц были одинаковые названия то проблем было бы меньше. Можно конечно переименовывать таблицы доноры постоянно, но все таки хотелось бы автоматизировать данный процесс, если это вообще возможно.

Также прикладываю примеры таблиц.

Если кто то подскажет какой макрос позволяет сделать то что я описал или в каком направлении двигаться буду очень благодарен!
Вложения
Тип файла: rar Файлы.rar (15.8 Кб, 7 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.07.2019, 17:56
Ответы с готовыми решениями:

Копирование диапазона строк из одной книги в другую, при разном количестве строк
Добрый день ! Вопрос такой: есть две книги(например 7.1 и 7.2 ) с расшифровками счетов, счета идентичные , но информация о счетах разная. ...

Сумма ячеек из одной книги в другую
Помогите скопировать сумму ячеек из одной книги в другую в VBA. Суть в том, что на лист1 ячейка это сумма трёх ячеек и прикопировании в...

Копирование значений диапазона ячеек из одной книги в другую
Всем доброго дня. Помогите пожалуйста написать код, который будет выполняться при нажатии кнопки CommandButton1, расположенной в Книга1...

3
198 / 132 / 67
Регистрация: 27.03.2019
Сообщений: 288
22.07.2019, 18:07
psyomikron, Файлы доноры в одной папке находятся?
Если да, то можно прописать макрос в файле-сборщике, проходится по каждому файлу-донору в папке, где они лежат (назовем ее "Папка"), обработанные файлы-доноры складывать в папку "Обработано".
При следующем запуске необработанные файлы-доноры из папки "Папка" будут обрабатываться и складываться в папку "Обработано" и тд
0
0 / 0 / 0
Регистрация: 23.07.2018
Сообщений: 5
22.07.2019, 18:31  [ТС]
Спасибо за ответ!

То есть получается если у меня 3 файла донора то в папке "Обработано" будет 3 файла сборщика?

Просто вся загвоздка в том, что после того как данные скопированы в файл сборщика я с этим сборщиком еще работаю, то есть по сути мне нужен макрос который скопирует из файла донора данные.
0
198 / 132 / 67
Регистрация: 27.03.2019
Сообщений: 288
22.07.2019, 18:44
psyomikron, нет, конечно. Файл сборщик будет один. Алгоритм такой.
1 берём файл донор из папки Папки, копируем из него данные и вставляем в сборщик
2 перемещается файл донор в папку Обработано
3 берём следующий файл донор из папки папка... И так до тех пор, пока не закончится файлы в папке Папка. При этом сборщик остаётся один, причём лежать он может в любом месте на компе.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.07.2019, 18:44
Помогаю со студенческими работами здесь

Копирование ячеек из одной таблицы в другую
Здравствуйте. Подскажите, пожалуйста, как скопировать ячейки из одной таблицы в одном файле в другую таблицу в другом файле. Надо...

Копирование данных с одной книги в другую
Здравствуйте. Помогите пожалуйста с задачей, а именно: ко мне приходит файл с данными книга Б, там находится n количество таблиц, мне...

Копирование данных из одной книги в другую
Всем привет! Мне нужно скопировать данные из 4 таблиц из одной книги в одну общую таблицу в другую книгу. Я новичок в этом деле. Что то...

Копирование строки из одной книги в другую
Необходимо скопировать строку под номером 10 с активного листа активной книги, открыть книгу например С:\test.xls (с одним листом) и...

Копирование данных из одной книги в другую
Добрый день, форумчане! Продолжаю писать свой макрос и опять не получается некоторая операция. Ниже выкладываю файл VDB1, в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru