![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 01.05.2009
Сообщений: 17
|
![]()
Добрый день. Совсем недавно начал разрабатывать отчёты в excel 2007. В данный момент передо мною стоит задача создания шаблона отчёта, информацией для которого будут служить данные выгружаемые из "программы А" в виде книг(3-4 файла) с не полностью известной структурой, т.е "шапка" будет точно одинаковая, а вот количество строк в документе заранее не известно. И так вопрос в том, как сделать возможность выбора файлов для импорта с появлением диалога, и с помощью каких функций работать с неизвестным количеством строк.
Можно в общих словах. И вообще если есть какие нибудь советы в общем, или ссылки на полезные ресурсы или хорошие книги - пишите, с удовольствием буду изучать. Заранее спасибо. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 24.06.2008
Сообщений: 516
|
![]()
Попробуй выбрать данные с помощью запросов.
Можно сделать все! Было бы время, да деньги...
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 01.05.2009
Сообщений: 17
|
![]() |
![]() |
![]() |
![]() |
#4 | ||||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() Цитата:
Цитата:
Достаточно выбрать одну папку, и обрабатывать все файлы из неё, или надо выбирать отдельные файлы? Или папок для обработки будет несколько? В любом случае, на форуме множество примеров. Осталось только поискать... Цитата:
Без конкретной постановки задачи посоветовать что-то определённое сложно. Цитата:
Если устроит решение с использованием макросов, прикрепите к сообщению 3 файла - 2 примера исходных файлов, и один - то, что должно получиться в итоге. Чем больше будет подробностей - тем быстрее получите готовое решение. |
||||
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 01.05.2009
Сообщений: 17
|
![]()
To EducatedFool:
Спасибо за ответ, вот описание задачи: Надо разработать аналитический отчёт(Analyst_report.xlsx), он состоит из 5и листов и включает в себя преобразованные данные из 3ёх файлов и их сравнение: 1. period_report.xlsx 2. day_report.xlsx 3. paper_report.xlsx Анализ данных должен происходить автоматически при указании этих файлов. Первые два файла формируются программой, поэтому для анализа их следует немного преобразовать. Преобразованные файлы для удобства вставляются в соответствующие листы (далее они будут скрыты) аналитического отчёта. 3ий фаил формируется вручную, и он тоже будет добавляться в скрытый лист (в дальнейшем хотелось бы разработать форму для ввода данных). Количество строк в файлах не известно. С импортом буду разбираться, вот нашёл примеры, с рецептами от вас же: http://programmersforum.ru/showthread.php?t=6555 http://programmersforum.ru/showthread.php?t=29913 Но самое главное хотелось бы сделать автоматическое формирование строк в листе «Несоответствия» аналитического отчёта на основе сравнения данных из скрытых листов( содержащею информацию из файлов period_report.xlsx и paper_report.xlsx). Типа если за такое то число данные из отчётов расходятся более чем на 5% то сформировать строку с указанием данных и разницы. Подскажите с помощью чего это реализовывать, и если можно, какой нить примерчик. Заранее СПС. |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 01.05.2009
Сообщений: 17
|
![]()
Подскажите как правильно написать.
Хочу скопировать из Листа1 выбранной книги определённый диапазон ячеек в активную книгу в Лист2. Так выдаёт Run time error 438 - Object doesn't support this property or method на строке с присвоением значений ячейкам. Код:
|
![]() |
![]() |
![]() |
#7 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
В строке BazaWb.BazaSht.Range("O4:O16").Valu e = Worksheets("Лист1").Range("A4:A16") .Value
перед Worksheets("Лист1") поставьте точку: Код:
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 01.05.2009
Сообщений: 17
|
![]()
Понял
Надо так BazaSht.Range("O4:O16").Value = .Worksheets("Лист1").Range("A4:A16" ).Value Последний раз редактировалось Sorro; 06.05.2009 в 11:57. |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 01.05.2009
Сообщений: 17
|
![]()
В Значение в ячейке сохранено как текст, как с помощью макроса преобразовать его в число? По формуле через Значен..
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поочередный выбор файлов из Filelistbox | He77ga | Компоненты Delphi | 3 | 02.05.2009 14:19 |
Выбор компонента для работы с содержимым текстовых файлов[Delphi] | sergey31 | Помощь студентам | 2 | 28.08.2008 16:53 |
Выбор Программатора для МК | Ivan_32 | Компьютерное железо | 1 | 17.07.2008 19:57 |
Нужна помощь: выбор файлов исходя из имени файлов | Antik163RUS | Помощь студентам | 4 | 19.06.2008 21:20 |
Выбор среды для С++ | CrazyJohn | Общие вопросы C/C++ | 7 | 18.11.2007 01:46 |