Есть 7 файлов. В каждом файле лист. На листе таблица (пример во вложение. кол-во столбцов во всех файлах одинаковые). В таблицах данные (в строках) постоянно добавляются и изменяются. Вручную сводить (копипастить) уже надоело. Как можно в автоматическом режиме их можно свести в отдельный файл? (т.е. при добавлении инфы в файлы (во все 7 штук, в сводном файле инфа автоматически менялась). К сожалению Excel практически не знаю Если можно, разжевано объяснить, для тех кто в танке, как это все можно автоматизировать
Спасибо! С уважением, Михаил.
Добрый день. Прошу помощи у знающих людей.
Есть 7 файлов. В каждом файле лист. На листе таблица (пример во вложение. кол-во столбцов во всех файлах одинаковые). В таблицах данные (в строках) постоянно добавляются и изменяются. Вручную сводить (копипастить) уже надоело. Как можно в автоматическом режиме их можно свести в отдельный файл? (т.е. при добавлении инфы в файлы (во все 7 штук, в сводном файле инфа автоматически менялась). К сожалению Excel практически не знаю Если можно, разжевано объяснить, для тех кто в танке, как это все можно автоматизировать
Не понятно какой именно результат нужен. Как варианты: 1. В сводном 7 листов, каждый простым "=" тянет данные из своего файла. 2. Подключить все эти файлы как источник внешних данных для этих листов, обновлять при открытии файла. з. Подключить все эти файлы как источник внешних данных к Access, там запросом получать сводную таблицу. 4. Макросом при открытии сводного файла получать данные из этих файлов, далее помещать их куда и как угодно (как - задача не известна).
Только эти данные не будут "при добавлении инфы в файлы (во все 7 штук, в сводном файле инфа автоматически менялась" - это будет происходить только при открытии/срабатывании механизма и из сохранённых файлов. Если нужно "при добавлении инфы автоматически" - переводите всё в одну базу Access с общим доступом к этой базе. Ну или можно там разграничить права - 7 человек видят/правят только свои записи, 8-ой видит всё. Но это уже к спецам по Access, я в нём мало работал.
Не понятно какой именно результат нужен. Как варианты: 1. В сводном 7 листов, каждый простым "=" тянет данные из своего файла. 2. Подключить все эти файлы как источник внешних данных для этих листов, обновлять при открытии файла. з. Подключить все эти файлы как источник внешних данных к Access, там запросом получать сводную таблицу. 4. Макросом при открытии сводного файла получать данные из этих файлов, далее помещать их куда и как угодно (как - задача не известна).
Только эти данные не будут "при добавлении инфы в файлы (во все 7 штук, в сводном файле инфа автоматически менялась" - это будет происходить только при открытии/срабатывании механизма и из сохранённых файлов. Если нужно "при добавлении инфы автоматически" - переводите всё в одну базу Access с общим доступом к этой базе. Ну или можно там разграничить права - 7 человек видят/правят только свои записи, 8-ой видит всё. Но это уже к спецам по Access, я в нём мало работал.Hugo
Нужен следующий результат: При открытии файла (где будет сводная таблица) скрипт/макрос выполняет операцию - тянет инфо из 7 файлов (т.е. 7 файлов таких, как во вложение первого сообщения) Как пример во вложение 7 файлов и один сводный файл (вот это нужно автоматизировать)
Hugo, добрый день!
Нужен следующий результат: При открытии файла (где будет сводная таблица) скрипт/макрос выполняет операцию - тянет инфо из 7 файлов (т.е. 7 файлов таких, как во вложение первого сообщения) Как пример во вложение 7 файлов и один сводный файл (вот это нужно автоматизировать) КоТъ
With sh a = Range(.[h4], .[c3].End(xlDown)).Value .UsedRange.ClearContents End With With Worksheets(1) .Cells(.Rows.Count, "B").End(xlUp)(2).Resize(UBound(a), 6).Value = a End With
Т.к. у меня тут 2003 - тренировался на паре тройке xls, но думаю и с xlsx должно сработать. Вся эта длинная "простыня" "With .QueryTables.Add..." записана рекордером и я там почти ничего не трогал - только убрал в конце ссылку на файл и скорректировал адрес для изменения в цикле. Если не заработает - запишите подключение к данным у себя, затем используйте свою "простыню". Готовый файл сейчас не покажу - работа...
With sh a = Range(.[h4], .[c3].End(xlDown)).Value .UsedRange.ClearContents End With With Worksheets(1) .Cells(.Rows.Count, "B").End(xlUp)(2).Resize(UBound(a), 6).Value = a End With
Т.к. у меня тут 2003 - тренировался на паре тройке xls, но думаю и с xlsx должно сработать. Вся эта длинная "простыня" "With .QueryTables.Add..." записана рекордером и я там почти ничего не трогал - только убрал в конце ссылку на файл и скорректировал адрес для изменения в цикле. Если не заработает - запишите подключение к данным у себя, затем используйте свою "простыню". Готовый файл сейчас не покажу - работа...Hugo
У Михаила вариант с суммированием количества, и написан совершенно иначе. А мой вариант просто складывает данные как есть одни под другими. У Михаила интереснее И сложнее.
У Михаила вариант с суммированием количества, и написан совершенно иначе. А мой вариант просто складывает данные как есть одни под другими. У Михаила интереснее И сложнее.Hugo