Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2009, 20:50   #11
xamillion
Форумчанин
 
Аватар для xamillion
 
Регистрация: 30.09.2008
Сообщений: 138
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Для извлечения данных из файлов запустите макрос "GetFromFiles". Файл "результат.xls" должен находиться в той же папке, что и просматриваемые файлы.
Пытается вставлять не понятно откуда, хотя лежит в отдельной папке, а данные берет толи со всего диска "С", толи из "Моих Документов"...

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Если есть необходимость разместить его в другой папке, то в коде вместо "CurDir" пропишите путь к папке с файлами.
В этом случае все прекрасно работает

Цитата:
Сообщение от SAS888 Посмотреть сообщение
P.S. А если бы в файлах-источниках листы, с которых требуется получить данные, имели бы одинаковое имя (например, "Лист1"), то можно было бы получить данные из требуемых файлов без открытия и закрытия книг, что более рационально.
Листы в книгах будут называться также как и сама книга из-за особенности ПО, которое создает эти файлики...



Спасибо за помощь... вполне рабочий вариант получается... все же в n-раз лучше чем ручками выбирать!!!


Совсем забыл спросить может и формулы макросом вставлять можно, я там одну напридумывал, может по-лучше придумать можно, а то сортировать нужно, чтобы формула считала?
Смысл: после всех манипуляций нужно вставить два столбика из разных файлов (записи в этих файлах уникальны) и еще нумерацию строк.
Вложения
Тип файла: rar копирование_2.rar (26.9 Кб, 13 просмотров)

Последний раз редактировалось xamillion; 19.01.2009 в 22:19.
xamillion вне форума Ответить с цитированием
Старый 20.01.2009, 06:49   #12
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите вложение. Запустите макрос "Main" из файла "результат.xls".
Условия:
1. Файлы "результат.xls", "договор.xls" и "характеристики.xls" могут находиться где угодно, но должны быть в одной папке.
2. Файлы "результат.xls", "договор.xls" и "характеристики.xls" переименовывать нельзя.
3. Лист "исходное" в файле "результат.xls" переименовывать нельзя.
4. В обрабатываемых файлах назначение столбцов изменять нельзя.

P.S. И еще. Файлы "договор.xls" и "характеристики.xls" не должны быть открыты. Если есть необходимость - в макрос можно вставить такую проверку.
Вложения
Тип файла: rar копирование_3.rar (25.3 Кб, 19 просмотров)
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 20.01.2009 в 06:53. Причина: Добавлено
SAS888 вне форума Ответить с цитированием
Старый 20.01.2009, 22:03   #13
xamillion
Форумчанин
 
Аватар для xamillion
 
Регистрация: 30.09.2008
Сообщений: 138
По умолчанию

Спасибо!!! Все просто великолепно... Условия вполне приемлимы, а проверку на "открытость" и не нужна вообще - их никто и открывать не собирается... Я думаю подобая наработка будет интересна не только мне...
xamillion вне форума Ответить с цитированием
Старый 21.01.2009, 22:05   #14
xamillion
Форумчанин
 
Аватар для xamillion
 
Регистрация: 30.09.2008
Сообщений: 138
По умолчанию

В процессе работы выяснилось, что месяца не по порядку распределяются... какой первый выципил - тот первым и вставил...

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

А если возможно - то поставить условие переноса строки в лист "исходное" по значению... К примеру, чтобы копировал строки со значением не менее указаного (наверное по запросу:"Введите граничный предел")...



Заранее спасибо...
Вложения
Тип файла: rar копирование_4.rar (29.1 Кб, 9 просмотров)

Последний раз редактировалось xamillion; 21.01.2009 в 22:10.
xamillion вне форума Ответить с цитированием
Старый 22.01.2009, 07:04   #15
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Ваши пожелания выполнены.
Вложения
Тип файла: rar копирование_5.rar (28.1 Кб, 19 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 22.01.2009, 21:23   #16
xamillion
Форумчанин
 
Аватар для xamillion
 
Регистрация: 30.09.2008
Сообщений: 138
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Ваши пожелания выполнены.
Снова спасибочки... а с фильтром возможно замутить??


P.S. Не допер откуда именно эти цифры:

For i = 17 To 6 Step -1
On Error Resume Next
y.Add Cells(1, i), CStr(Cells(1, i))
If Err = 0 Then Columns(i).Delete
On Error GoTo 0
Next

Последний раз редактировалось xamillion; 22.01.2009 в 21:30.
xamillion вне форума Ответить с цитированием
Старый 23.01.2009, 06:00   #17
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
Не допер откуда именно эти цифры:
Раньше, извлеченные из всех файлов значения месяцев вставлялись в ячейки, начиная со столбца "F", в том порядке, в котором мы их находили. По Вашей просьбе (чтобы месяцы были по порядку) применен следующий алгоритм:
При формировании листа результатов, в 1 строку, начиная со столбца "F", вписываются все месяцы по порядку (см. в коде макроса). Затем, после того, как мы получили коллекцию с существующими названиями месяцев, выполняется код из предыдущего поста. В цикле от столбца 17 (декабрь) до столбца 6 (январь) удаляются те столбцы, которых нет в нашей коллекции. Цикл организован "справа налево" для того, чтобы при удалении очередного столбца не нарушался счетчик цикла.
Цитата:
а с фильтром возможно замутить??
Нет ничего невозможного. Опишите подробнее, что за фильтр Вам нужен. Почему Вас не устраивает Excel-евский автофильтр?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 23.01.2009, 09:08   #18
xamillion
Форумчанин
 
Аватар для xamillion
 
Регистрация: 30.09.2008
Сообщений: 138
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Раньше, извлеченные из всех файлов значения месяцев вставлялись в ячейки, начиная со столбца "F", в том порядке, в котором мы их находили. По Вашей просьбе (чтобы месяцы были по порядку) применен следующий алгоритм:
При формировании листа результатов, в 1 строку, начиная со столбца "F", вписываются все месяцы по порядку (см. в коде макроса). Затем, после того, как мы получили коллекцию с существующими названиями месяцев, выполняется код из предыдущего поста. В цикле от столбца 17 (декабрь) до столбца 6 (январь) удаляются те столбцы, которых нет в нашей коллекции. Цикл организован "справа налево" для того, чтобы при удалении очередного столбца не нарушался счетчик цикла.
въехал....

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Нет ничего невозможного. Опишите подробнее, что за фильтр Вам нужен. Почему Вас не устраивает Excel-евский автофильтр?
Нужно чтобы в последнем варианте "нашей" наработки из файлов переносились в файл "результат" на лист "исходное" только те строки, показатель которых выше определенного значения, запрос на ввод которого производится после запуска макроса...

А ввести второй показатель будет сложно? чтобы он выводился следом за первым?
xamillion вне форума Ответить с цитированием
Старый 23.01.2009, 10:20   #19
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Нет ничего сложного. Я уже просил: пишите подробнее, что нужно.
Что значит
Цитата:
только те строки, показатель которых выше определенного значения
Какого значения? По каким критериям фильтровать? Оговорите все, какие нужно и где (в каких столбцах каких файлов) они находятся.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 23.01.2009, 19:34   #20
xamillion
Форумчанин
 
Аватар для xamillion
 
Регистрация: 30.09.2008
Сообщений: 138
По умолчанию

Понял - тогда по-порядку...

Итак, показателей теперь 4-ре...

Из файлов в директории, которую указываем (в данном случае "копирование" и файлы "1xls", "2.xls" и "8.xls") нужно переносить строки по "показателю 2"... т.е. если "показатель 2" меньше значения, которое мы введем на вопрос "Укажите минимальную границу!", то эта строка не переносится в лист "исходное"... и потом формируется таблица на листе "результат" так же как и раньше, но уже с 4-мя показателями...
Вложения
Тип файла: rar копирование_6.rar (31.5 Кб, 16 просмотров)

Последний раз редактировалось xamillion; 23.01.2009 в 19:43.
xamillion вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Процедура для считывания значений переменных xPAL Общие вопросы Delphi 4 07.12.2008 19:23
Табулировать функцию для 9 значений... Малинка! Помощь студентам 3 01.12.2008 17:59
Модуль для поиска значений wnuks Microsoft Office Excel 1 02.07.2008 07:46
Разработать для статуправления систему анализа потребления и стоимости любого продукта в течение года Верчик Фриланс 2 17.01.2008 10:17