Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как можно свести несколько файлов в один? - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Как можно свести несколько файлов в один?
bjork Дата: Вторник, 20.08.2013, 12:20 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день! подскажите, пожалуйста, как можно свести несколько файлов в один. Например, есть 10 файлов excel с одинаковой структурой. Каждый файл содержит одинаковые листы в которых заполнены разные строки (в листе 1 - строки 1,11,21...., в листе 2 - строки 2,12,22... и т.д). Нужно сделать один сводный файл. Файлов, листов и заполненных строк может быть очень большое количество, поэтому вручную копировать, делать ссылки, ВПР и т.д очень затруднительно.
Есть ли решение такой задачи?
 
Ответить
СообщениеДобрый день! подскажите, пожалуйста, как можно свести несколько файлов в один. Например, есть 10 файлов excel с одинаковой структурой. Каждый файл содержит одинаковые листы в которых заполнены разные строки (в листе 1 - строки 1,11,21...., в листе 2 - строки 2,12,22... и т.д). Нужно сделать один сводный файл. Файлов, листов и заполненных строк может быть очень большое количество, поэтому вручную копировать, делать ссылки, ВПР и т.д очень затруднительно.
Есть ли решение такой задачи?

Автор - bjork
Дата добавления - 20.08.2013 в 12:20
Матрёна Дата: Вторник, 20.08.2013, 12:24 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 398
Репутация: 40 ±
Замечаний: 0% ±

Покажите исходный файл и файл-свод.
 
Ответить
СообщениеПокажите исходный файл и файл-свод.

Автор - Матрёна
Дата добавления - 20.08.2013 в 12:24
Матрёна Дата: Вторник, 20.08.2013, 12:31 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 398
Репутация: 40 ±
Замечаний: 0% ±

Есть ли решение такой задачи?

Риторический вопрос. :D
 
Ответить
Сообщение
Есть ли решение такой задачи?

Риторический вопрос. :D

Автор - Матрёна
Дата добавления - 20.08.2013 в 12:31
bjork Дата: Вторник, 20.08.2013, 16:31 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
я просто поспрашивала у знакомых, и получив в ответ только пожатие плечами, почти потеряла надежду на решение))
вот примеры файлов, данные которых нужно свести в один
 
Ответить
Сообщениея просто поспрашивала у знакомых, и получив в ответ только пожатие плечами, почти потеряла надежду на решение))
вот примеры файлов, данные которых нужно свести в один

Автор - bjork
Дата добавления - 20.08.2013 в 16:31
bjork Дата: Вторник, 20.08.2013, 16:33 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
что-то ничего у меня не грузится :(


Сообщение отредактировал bjork - Вторник, 20.08.2013, 16:34
 
Ответить
Сообщениечто-то ничего у меня не грузится :(

Автор - bjork
Дата добавления - 20.08.2013 в 16:33
bjork Дата: Вторник, 20.08.2013, 16:55 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
 
Ответить
Сообщениессылки на файлы с примером
http://forum.msexcel.ru/index.php/topic,9477.0.html

http://ifolder.com.ua/vrhcfuiwc9lx.html
http://ifolder.com.ua/qzcfcu4xj4uy.html

Автор - bjork
Дата добавления - 20.08.2013 в 16:55
Матрёна Дата: Вторник, 20.08.2013, 20:40 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 398
Репутация: 40 ±
Замечаний: 0% ±

bjork!
Вы показали исходную информацию.
А где файл-свод на основе этой информации?
 
Ответить
Сообщениеbjork!
Вы показали исходную информацию.
А где файл-свод на основе этой информации?

Автор - Матрёна
Дата добавления - 20.08.2013 в 20:40
KuklP Дата: Среда, 21.08.2013, 11:31 | Сообщение № 8
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
bjork, на этом форуме тоже работает поиск. Хоть что-то, хоть попытайтесь...


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщениеbjork, на этом форуме тоже работает поиск. Хоть что-то, хоть попытайтесь...

Автор - KuklP
Дата добавления - 21.08.2013 в 11:31
SergeyKorotun Дата: Среда, 21.08.2013, 17:05 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
Вот вам для начала:
[vba]
Код

Sub Podgotovka1()
      Dim x As String
      Dim x1 As Long
      Dim wb As Workbook
      Dim i As Long
      i = 4
      Ch_Dir = "C:\XLS_FILES\"
      Application.ScreenUpdating = False
      x1 = 1
      x = "*.xls"
      nmfile = Dir(Ch_Dir & x)
      pthname = Ch_Dir + nmfile
      MsgBox (pthname)

      Do While nmfile <> ""
          nmfile = Dir()
          pthname = Ch_Dir + nmfile
          x1 = x1 + 1
          If nmfile <> "" Then
          MsgBox (pthname)
          Set wb = Workbooks.Open(pthname)
          ThisWorkbook.Worksheets(1).Range("a" & x1 + i).Value = x1
          ThisWorkbook.Worksheets(1).Range("b" & x1 + i).Value = Range("b11").Value
          ThisWorkbook.Worksheets(1).Range("c" & x1 + i).Value = Range("b3").Value
          ThisWorkbook.Worksheets(1).Range("d" & x1 + i).Value = Range("b4").Value
          Application.DisplayAlerts = False
          wb.Close
          Application.DisplayAlerts = True
      End If
      Loop
      Application.ScreenUpdating = True
End Sub
[/vba]
Все книги из C:\XLS_FILES\ с маской *.xls откроет и из первого листа с ячеек b11, c1, d1 занесет в книгу, из которой запустился макрос в первый лист, начиная со строки 4 в столбцы b, c, d


Сообщение отредактировал SergeyKorotun - Среда, 21.08.2013, 17:10
 
Ответить
СообщениеВот вам для начала:
[vba]
Код

Sub Podgotovka1()
      Dim x As String
      Dim x1 As Long
      Dim wb As Workbook
      Dim i As Long
      i = 4
      Ch_Dir = "C:\XLS_FILES\"
      Application.ScreenUpdating = False
      x1 = 1
      x = "*.xls"
      nmfile = Dir(Ch_Dir & x)
      pthname = Ch_Dir + nmfile
      MsgBox (pthname)

      Do While nmfile <> ""
          nmfile = Dir()
          pthname = Ch_Dir + nmfile
          x1 = x1 + 1
          If nmfile <> "" Then
          MsgBox (pthname)
          Set wb = Workbooks.Open(pthname)
          ThisWorkbook.Worksheets(1).Range("a" & x1 + i).Value = x1
          ThisWorkbook.Worksheets(1).Range("b" & x1 + i).Value = Range("b11").Value
          ThisWorkbook.Worksheets(1).Range("c" & x1 + i).Value = Range("b3").Value
          ThisWorkbook.Worksheets(1).Range("d" & x1 + i).Value = Range("b4").Value
          Application.DisplayAlerts = False
          wb.Close
          Application.DisplayAlerts = True
      End If
      Loop
      Application.ScreenUpdating = True
End Sub
[/vba]
Все книги из C:\XLS_FILES\ с маской *.xls откроет и из первого листа с ячеек b11, c1, d1 занесет в книгу, из которой запустился макрос в первый лист, начиная со строки 4 в столбцы b, c, d

Автор - SergeyKorotun
Дата добавления - 21.08.2013 в 17:05
Hugo Дата: Понедельник, 02.09.2013, 20:20 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3706
Репутация: 792 ±
Замечаний: 0% ±

365
Посмотрел файлы.
В общем всё решаемо, но сильно портят жизнь эти объединённые ячейки. Если бы от них избавиться - код получился бы простым и быстрым.

Я думаю нужно делать так - вручную заготовить один пустой файл этой структуры.
Далее цикл по всем листам всех выбранных в диалоге файлов, заносим в ТРИ ПАРАЛЛЕЛЬНЫХ словаря ключ лист|товар|конкуренты и в каждый Кількість Мін роздр. ціна Макс роздр. ціна. С суммированием.

Затем аналогичный цикл по сводному листу - извлекаем по ключу данные из словарей, раскладываем по местам. Если там уже есть данные - можно суммировать.

Но т.к. есть эти объединения... В общем, сделать можно и так, но нет времени/желания запросто так возиться...

Так что ответ на вопрос - ЕСТЬ! :)
Но скорее всего не формулами. Макросом проще.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеПосмотрел файлы.
В общем всё решаемо, но сильно портят жизнь эти объединённые ячейки. Если бы от них избавиться - код получился бы простым и быстрым.

Я думаю нужно делать так - вручную заготовить один пустой файл этой структуры.
Далее цикл по всем листам всех выбранных в диалоге файлов, заносим в ТРИ ПАРАЛЛЕЛЬНЫХ словаря ключ лист|товар|конкуренты и в каждый Кількість Мін роздр. ціна Макс роздр. ціна. С суммированием.

Затем аналогичный цикл по сводному листу - извлекаем по ключу данные из словарей, раскладываем по местам. Если там уже есть данные - можно суммировать.

Но т.к. есть эти объединения... В общем, сделать можно и так, но нет времени/желания запросто так возиться...

Так что ответ на вопрос - ЕСТЬ! :)
Но скорее всего не формулами. Макросом проще.

Автор - Hugo
Дата добавления - 02.09.2013 в 20:20
Hugo Дата: Понедельник, 02.09.2013, 22:32 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3706
Репутация: 792 ±
Замечаний: 0% ±

365
Чуть изменил - не суммируем, а выбираем минимум и максимум.
Объединения убирать не нужно, они нужны :)
В общем так - открыли этот файл, открыли/активировали один обрабатываемый файл, нажали Alt+F8, выбрали макрос Свод из этого файла, выполнили. Ждите сообщения.
Затем открыли/активировали другой обрабатываемый файл - далее аналогично.
Можно добавить цикл по всем выбранным в диалоге файлам, если их всегда много и обрабатываете их обычно сразу все.
К сообщению приложен файл: 1H_v2.rar (42.1 Kb)


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеЧуть изменил - не суммируем, а выбираем минимум и максимум.
Объединения убирать не нужно, они нужны :)
В общем так - открыли этот файл, открыли/активировали один обрабатываемый файл, нажали Alt+F8, выбрали макрос Свод из этого файла, выполнили. Ждите сообщения.
Затем открыли/активировали другой обрабатываемый файл - далее аналогично.
Можно добавить цикл по всем выбранным в диалоге файлам, если их всегда много и обрабатываете их обычно сразу все.

Автор - Hugo
Дата добавления - 02.09.2013 в 22:32
bjork Дата: Вторник, 03.09.2013, 11:08 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Hugo, огромное-огромное спасибо!!!)))

но для полного своего счастья уточню два недопонятых момента:
Чуть изменил - не суммируем, а выбираем минимум и максимум.

т.е. макрос ко всем своим достоинствам еще и суммирует и находит мин и максимум в последней суммарной табличке? у меня просто этого не происходит или я не правильно поняла?

Можно добавить цикл по всем выбранным в диалоге файлам, если их всегда много

а как это сделать?

и будет ли работать макрос при другой структуре документа? или он как то привязан к конкретный названиям, количеству столбцов/строк и т.д?


Сообщение отредактировал bjork - Вторник, 03.09.2013, 12:26
 
Ответить
СообщениеHugo, огромное-огромное спасибо!!!)))

но для полного своего счастья уточню два недопонятых момента:
Чуть изменил - не суммируем, а выбираем минимум и максимум.

т.е. макрос ко всем своим достоинствам еще и суммирует и находит мин и максимум в последней суммарной табличке? у меня просто этого не происходит или я не правильно поняла?

Можно добавить цикл по всем выбранным в диалоге файлам, если их всегда много

а как это сделать?

и будет ли работать макрос при другой структуре документа? или он как то привязан к конкретный названиям, количеству столбцов/строк и т.д?

Автор - bjork
Дата добавления - 03.09.2013 в 11:08
Hugo Дата: Вторник, 03.09.2013, 12:05 | Сообщение № 13
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3706
Репутация: 792 ±
Замечаний: 0% ±

365
Я понял так - в тех таблицах есть количество и минимальная и максимальная цена (или что там не по русски написано, не понял).
Так вот код суммирует количество, а из этих min/max выбирает min и max.
Если и их нужно суммировать - переделайте чтоб суммировало аналогично количеству.

Как перебрать все выбранные в диалоге файлы - ищите код с использованием например
msoFileDialogFilePicker
Выбрали файлы, перебираем их в цикле, каждый открываем, копируем данные, закрываем и т.д.
Писать сейчас некогда, т.к. писать относительно много, ну и в общем это рутина, не интересно...

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


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеЯ понял так - в тех таблицах есть количество и минимальная и максимальная цена (или что там не по русски написано, не понял).
Так вот код суммирует количество, а из этих min/max выбирает min и max.
Если и их нужно суммировать - переделайте чтоб суммировало аналогично количеству.

Как перебрать все выбранные в диалоге файлы - ищите код с использованием например
msoFileDialogFilePicker
Выбрали файлы, перебираем их в цикле, каждый открываем, копируем данные, закрываем и т.д.
Писать сейчас некогда, т.к. писать относительно много, ну и в общем это рутина, не интересно...

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

Автор - Hugo
Дата добавления - 03.09.2013 в 12:05
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!