1 (11 лет 2 месяца назад)

Тема: подскажите как из нескольких файлов excell сделать один

подскажите как из нескольких файлов excell сделать один.
есть несколько десятков смет в экселе, нужно в один файл внести все материалы из этих смет и сколько чего требуется закупить. идентиф-я идет по уникальному коду
грубо:
есть таблицы, в несколько колонок. 1 код/2 название/.../.../ цена вопроса
нужно составить 1 таблицу, где
строки вида:
1 код1/2 название/.../.../ сумма цен по данному коду во всех книгах
1 код2/2 название/.../.../ сумма цен по данному коду во всех книгах
1 код3/2 название/.../.../ сумма цен по данному коду во всех книгах
.... и так порядка 300 кодов в 6 десятках документов

Тема закрыта и находится в архиве, не беспокойте автора без особой необходимости!

2 (11 лет 2 месяца назад)

Re: подскажите как из нескольких файлов excell сделать один

копирование листов целиком из одной книги в другую - такой способ не вариант?

3 (11 лет 2 месяца назад)

Re: подскажите как из нескольких файлов excell сделать один

Михаил V пишет:

копирование листов целиком из одной книги в другую - такой способ не вариант?

нет
документов много. материалов много. тут суммировать надо по кодам, vb нужен походу, но башка совсем не варит

Тема закрыта и находится в архиве, не беспокойте автора без особой необходимости!

4 (11 лет 2 месяца назад)

Re: подскажите как из нескольких файлов excell сделать один

вот ссылка, может поможет
http://detsle.blogspot.ru/2011/09/excel.html

Отредактировано Михаил V (, 11 лет 2 месяца назад)

5 (11 лет 2 месяца назад)

Re: подскажите как из нескольких файлов excell сделать один

Athlon82 пишет:

vb нужен походу

По идее сводными таблицами такое делается.

6 (11 лет 2 месяца назад)

Re: подскажите как из нескольких файлов excell сделать один

Топорное решение, но всё же...
Если из каждой сметы нужно взять итоговое значение, которое находится в ячейке с известным адресом, то принцип следующий:

1. Именуем книжки с данными в папке по порядку 1.xls, 2.xls и т.п.
2. в той же папке создаем сводную книжку с любым именем, туда добавляем код:

Sub test
txt = "="
For i = 1 To 3
    txt = txt & "+[" & i & ".xls]Лист1!R1C1"
Next i
    ActiveCell.FormulaR1C1 = txt
End Sub

Соответственно, код циклом обходит все книжки в папке по имени, в итоге в ячейку вставляется формула

=+'D:\temp\[1.xls]Лист1'!$A$1+'D:\temp\[2.xls]Лист1'!$A$1+'D:\temp\[3.xls]Лист1'!$A$1

Все накидано "на коленке", подлежит адаптации, но у меня значения из 3-х книжек просуммировало

7 (11 лет 2 месяца назад)

Re: подскажите как из нескольких файлов excell сделать один

Михаил V пишет:

вот ссылка, может поможет
http://detsle.blogspot.ru/2011/09/excel.html

это объединение листов в 1 книгу - не то.

Ugo Chaves пишет:

итоговое значение, которое находится в ячейке с известным адресом, то принцип следующий:

в том-то и дело, что адрес не известен.
грубо:
есть таблицы, в несколько колонок. 1 код/2 название/.../.../ цена вопроса
нужно составить 1 таблицу, где
строки вида:
1 код1/2 название/.../.../ сумма цен по данному коду во всех книгах
1 код2/2 название/.../.../ сумма цен по данному коду во всех книгах
1 код3/2 название/.../.../ сумма цен по данному коду во всех книгах
.... и так порядка 300 кодов в 6 десятках документов

Тема закрыта и находится в архиве, не беспокойте автора без особой необходимости!

8 (11 лет 2 месяца назад)

Re: подскажите как из нескольких файлов excell сделать один

Я бы сделал так - выгрузил данные в текстовый вид с разделителями, объединил текстовые файлы в один, импортировал в MS SQL, да и выбрал данные одном запросом в ёксель.

всего делов на 5 минут. если MS SQL стоит.
Ну либо какой- другой SQL-сервер. Просто в MS импорт уж очень прост и понятен и делается за 1 сек.
Ну и соот-но выдрать одним SELECT'ом

Отредактировано (, 11 лет 2 месяца назад)

9 (11 лет 2 месяца назад)

Re: подскажите как из нескольких файлов excell сделать один

alex1 пишет:

Я бы сделал так - выгрузил данные в текстовый вид с разделителями, объединил текстовые файлы в один, импортировал в MS SQL, да и выбрал данные одном запросом в ёксель.

всего делов на 5 минут. если MS SQL стоит.
Ну либо какой- другой SQL-сервер. Просто в MS импорт уж очень прост и понятен и делается за 1 сек.
Ну и соот-но выдрать одним SELECT'ом

Кстати да, мысль. А можно ещё попробовать так:
1.выгружаем данные из всех книжек например в тот же csv, все в один файл
2. Открываем этот csv екселем, проставляем названия столбцов и применяем  инструмент "промежуточные итоги" в результате можно получить что-то типа
Код 1|название 1|сумма1
Код 1|название 1|сумма 2
..................................................
Код 1|название 1|сумма n
Итого код1 название 1 сумма
Код 1| название 2|сумма 1
Код 1|название 2| сумма 2
Итого код 1 название 2 сумма
........

...и так далее