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

Вход

Регистрация

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

 

= Мир MS Excel/Сложение нескольких таблиц в одну - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сложение нескольких таблиц в одну (Макросы/Sub)
Сложение нескольких таблиц в одну
ratibor43 Дата: Среда, 05.11.2014, 11:42 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Добрый день!
Есть файл с определенным количеством листов, на листах однотипные таблицы с тремя полями(артикул, наименование, кол-во) Артикулы одинаковые но в каждой таблице разный набор артикулов. Как сделать некую итоговую таблицу чтобы в нее были включены все артикулы из всех таблиц и количество повторяющихся артикулов суммировалось.
Подскажите может быть есть уже какое-то готовое решение?
Прикрепил банальный пример..т.к. реальный выложить не могу.
4 таблицы в каждой свой набор артикулов, необходимо сделать итоговую. В реале по 15-20 таблиц в каждой таблице по 300-400 строк
К сообщению приложен файл: 0665945.xls (15.0 Kb)
 
Ответить
СообщениеДобрый день!
Есть файл с определенным количеством листов, на листах однотипные таблицы с тремя полями(артикул, наименование, кол-во) Артикулы одинаковые но в каждой таблице разный набор артикулов. Как сделать некую итоговую таблицу чтобы в нее были включены все артикулы из всех таблиц и количество повторяющихся артикулов суммировалось.
Подскажите может быть есть уже какое-то готовое решение?
Прикрепил банальный пример..т.к. реальный выложить не могу.
4 таблицы в каждой свой набор артикулов, необходимо сделать итоговую. В реале по 15-20 таблиц в каждой таблице по 300-400 строк

Автор - ratibor43
Дата добавления - 05.11.2014 в 11:42
AndreTM Дата: Среда, 05.11.2014, 12:42 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Таблицы однотипные, но на листах расположены не в одних и тех же местах (разные столбцы, строки)?
На листах с таблицами есть ещё какая-то информация (кроме этих таблиц)?
Часто ли приходится проделывать такую работу (её, в принципе, разово можно сделать и сводной по диапазонам)?


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеТаблицы однотипные, но на листах расположены не в одних и тех же местах (разные столбцы, строки)?
На листах с таблицами есть ещё какая-то информация (кроме этих таблиц)?
Часто ли приходится проделывать такую работу (её, в принципе, разово можно сделать и сводной по диапазонам)?

Автор - AndreTM
Дата добавления - 05.11.2014 в 12:42
nilem Дата: Среда, 05.11.2014, 12:51 | Сообщение № 3
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
ratibor43,
на червертом листе заголовки для таблицы нарисуйте, и попробуйте так:
[vba]
Код
Sub ertert()
Dim x, t, i&, wsh As Worksheet
With Sheets("итог")
     .Range("B2").CurrentRegion.Offset(1).ClearContents
     .Activate
End With
With CreateObject("Scripting.Dictionary")
     .CompareMode = 1
     For Each wsh In ThisWorkbook.Worksheets
         If Not wsh Is ActiveSheet Then
             x = wsh.Range("B3").CurrentRegion.Value
             For i = 2 To UBound(x)
                 If .Exists(x(i, 1)) Then
                     t = .Item(x(i, 1))
                     t(2) = t(2) + x(i, 3)
                     .Item(x(i, 1)) = t
                 Else
                     .Item(x(i, 1)) = Array(x(i, 1), x(i, 2), x(i, 3))
                 End If
             Next i
         End If
     Next wsh
     Range("B3").Resize(.Count, 3).Value = Application.Index(.items, 0, 0)
End With
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениеratibor43,
на червертом листе заголовки для таблицы нарисуйте, и попробуйте так:
[vba]
Код
Sub ertert()
Dim x, t, i&, wsh As Worksheet
With Sheets("итог")
     .Range("B2").CurrentRegion.Offset(1).ClearContents
     .Activate
End With
With CreateObject("Scripting.Dictionary")
     .CompareMode = 1
     For Each wsh In ThisWorkbook.Worksheets
         If Not wsh Is ActiveSheet Then
             x = wsh.Range("B3").CurrentRegion.Value
             For i = 2 To UBound(x)
                 If .Exists(x(i, 1)) Then
                     t = .Item(x(i, 1))
                     t(2) = t(2) + x(i, 3)
                     .Item(x(i, 1)) = t
                 Else
                     .Item(x(i, 1)) = Array(x(i, 1), x(i, 2), x(i, 3))
                 End If
             Next i
         End If
     Next wsh
     Range("B3").Resize(.Count, 3).Value = Application.Index(.items, 0, 0)
End With
End Sub
[/vba]

Автор - nilem
Дата добавления - 05.11.2014 в 12:51
ratibor43 Дата: Среда, 05.11.2014, 13:28 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
nilem, спасибо! все работает! Немного подшаманил под реальную таблицу и все отлично работает!!!


Сообщение отредактировал ratibor43 - Среда, 05.11.2014, 13:29
 
Ответить
Сообщениеnilem, спасибо! все работает! Немного подшаманил под реальную таблицу и все отлично работает!!!

Автор - ratibor43
Дата добавления - 05.11.2014 в 13:28
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сложение нескольких таблиц в одну (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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