09.07.2012 18:20
Подскажите, кто знает. Есть список файлов в папке(больше 100) построены по шаблону:

Код Наименование Количество Цена. Мне нужно из каждого файла получить количество и должна получится таблица

Код Наименование Количество 1 Количество 2... :?:
10.07.2012 01:34
Цитата:
SLAVICK Есть список файлов в папке(больше 100) построены по шаблону:

Код Наименование Количество Цена. Мне нужно из каждого файла получить количество и должна получится таблица

Код Наименование Количество 1 Количество 2... :?:
Если обрабатывать папку, то только макросом. Если открыть все 100 файлов, то можно с помощью Консолидации. Только названия столбцов во всех файлах поименовать:
код, наименование, количество1 ...
10.07.2012 12:21
Приложен макет "консолидатора" на примере 3 файлов данных.[attachment=0:3j0bly52]100 files.rar[/attachment:3j0bly52]
Файл "common.xls" и файлы данных должны находиться в одной папке (открывать их не требуется).
Для полной адаптации к реалиям в этот модуль консолидации следует добавить:
- справочник имён файлов данных
- определение требуемого числа циклов загрузки данных по числу файлов в справочнике
- работу модуля по произвольным именам файлов данных из справочника
Вложения
Тип файла: rar 100 files.rar (26.0 Кб, 42 просмотров)
10.07.2012 14:39
Цитата:
sf13 Приложен макет "консолидатора" на примере 3 файлов данных.[attachment=1:27aldne2]100 files.rar[/attachment:27aldne2]
Файл "common.xls" и файлы данных должны находиться в одной папке (открывать их не требуется).
Для полной адаптации к реалиям в этот модуль консолидации следует добавить:
- справочник имён файлов данных
- определение требуемого числа циклов загрузки данных по числу файлов в справочнике
- работу модуля по произвольным именам файлов данных из справочника
Супер - работает очень быстро. :D
А как его создать и куда вставить?(Справочник) и как его связать с этим макросом?

Я пока сделал так:
Создал список файлов с адресами (Через Total Commander)
Вставил в верхнюю строку
потом вставил Впр и протянул ее по строке
потом заменил "=" на "ё="
потом подставил в строку ниже вместо стандартной таблицы - название, которое создал раньше
потом эту строку заменил(вставил значения) на нужное место
Потом заменил "ё=" на "="
Все работает хорошо, Но очень доооолго думает :evil:
10 строк обновляло минут 5, а у меня больше 7000 строк.

То что Вы написали - хорошая штука, но мне нужно чтоб в заглавной строке отображалось мое название файла, а без Справочника, я так понимаю, это не возможно?
Вложения
Тип файла: xlsx 1111111.xlsx (11.7 Кб, 157 просмотров)
10.07.2012 14:45
Цитата:
RazVal
Если обрабатывать папку, то только макросом. Если открыть все 100 файлов, то можно с помощью Консолидации. Только названия столбцов во всех файлах поименовать:
код, наименование, количество1 ...
так у меня названия столбцов одинаковые, вопрос в том как их собрать"до кучи" в одной таблице и чтоб заглавная строка отображала имя файла, т.к. в нем содержится дата...
10.07.2012 16:40
Цитата:
SLAVICK
Цитата:
RazVal
Если обрабатывать папку, то только макросом. Если открыть все 100 файлов, то можно с помощью Консолидации. Только названия столбцов во всех файлах поименовать:
код, наименование, количество1 ...
так у меня названия столбцов одинаковые, вопрос в том как их собрать"до кучи" в одной таблице и чтоб заглавная строка отображала имя файла, т.к. в нем содержится дата...
Добрый день!
Возможно нужно посмотреть
10.07.2012 21:57
Цитата:
SLAVICK Супер - работает очень быстро. :D
А как его создать и куда вставить?(Справочник) и как его связать с этим макросом?
То что Вы написали - хорошая штука, но мне нужно чтоб в заглавной строке отображалось мое название файла, а без Справочника, я так понимаю, это не возможно?
Возможно всё. [attachment=0:wxjut3b5]Консолидация_данных.rar[/attachment:wxjut3b5] Заполняйте справочник в модуле консолидации.
Имена файлов с данными - любые.
Имя модуля (файла) консолидации и название папки можно менять.
Названия листов в модуле МЕНЯТЬ НЕЛЬЗЯ.

Формат Ваших файлов с данными я не видел. И если поле данных у Вас начинается с другой строки или столбца - модуль работать не будет, нужно менять адресацию к данным.
Вложения
Тип файла: rar Консолидация_данных.rar (63.6 Кб, 50 просмотров)
11.07.2012 17:47
Цитата:
sf13 Возможно всё. [attachment=1:3nx0rjqk]Консолидация_данных.rar[/attachment:3nx0rjqk] Заполняйте справочник в модуле консолидации.
Имена файлов с данными - любые.
Имя модуля (файла) консолидации и название папки можно менять.
Названия листов в модуле МЕНЯТЬ НЕЛЬЗЯ.

Формат Ваших файлов с данными я не видел. И если поле данных у Вас начинается с другой строки или столбца - модуль работать не будет, нужно менять адресацию к данным.
К сожелению нет Выдает ошибку. я так понимаю, что закончились строки:( , но работает намного быстрее моего впр.
Можно как - то увеличить количество обрабатываемых строк?
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.JPG
Просмотров: 543
Размер:	85.2 Кб
ID:	6256  
11.07.2012 19:14
Цитата:
SLAVICK Выдает ошибку. Я так понимаю, что закончились строки. Можно как - то увеличить количество обрабатываемых строк?
В файле "cоmmon.xls" в листе "sheet" заполнены почти все 65536 строк и свободного остатка строк не хватает для загрузки очередного файла данных?

Вижу по времени загрузки, что 8-ой файл уже не загрузился (время менее предпоследнего, вероятно, осталось от предыдущей загрузки).

А 8-ой файл у Вас в формате *.xls, не *.xlsx случайно?

Или у Вас уже в 8-ми файлах более 65534 строк данных?

Если да, то нужно перевести модуль консолидации в формат Excel2007 или 2010, изменить некоторые формулы в листе и операторы програмного кода, переформировать сводную таблицу.
Будет в активе 1 048 576 минус 2 строки.

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

Проверка: Ctrl-End Курсор должен оказаться в конце массива данных, а не ниже.
Если ниже, то правка: удалить все строки ниже последней строки данных и сохранить файл.

P.S.
Извиняюсь, ранее погорячился, файл "common.xls" переименовывать нельзя (или нужно дополнять программу автоопределением имени этого файла)
12.07.2012 10:23
Цитата:
sf13 В файле "cоmmon.xls" в листе "sheet" заполнены почти все 65536 строк и свободного остатка строк не хватает для загрузки очередного файла данных?

Вижу по времени загрузки, что 8-ой файл уже не загрузился (время менее предпоследнего, вероятно, осталось от предыдущей загрузки).

А 8-ой файл у Вас в формате *.xls, не *.xlsx случайно?

Или у Вас уже в 8-ми файлах более 65534 строк данных?

Если да, то нужно перевести модуль консолидации в формат Excel2007 или 2010, изменить некоторые формулы в листе и операторы програмного кода, переформировать сводную таблицу.
Будет в активе 1 048 576 минус 2 строки.

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

Проверка: Ctrl-End Курсор должен оказаться в конце массива данных, а не ниже.
Если ниже, то правка: удалить все строки ниже последней строки данных и сохранить файл.

P.S.
Извиняюсь, ранее погорячился, файл "common.xls" переименовывать нельзя (или нужно дополнять программу автоопределением имени этого файла)
Да - закончились строки, у меня в 1-м файле примерно 8000 строк.:( а если сохранить файл в xlsm и поменять название в макросе (Windows("common.xls" на Windows("common.xlsm" ))- поможет, или еще что-то нужно? :?:
А идею со сводной таблицей я тоже думал. не знал только как написать макрос для открывания файлов из списка :D
Часовой пояс GMT +3, время: 06:07.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.