![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 10.10.2012
Сообщений: 18
|
![]()
Добрый день.
Требуется помощь специалистов. Нужно создать таблицу (сводная она или нет сказать не могу) чтобы информация из всех листов (вкладок) собиралась в один лист, при этом пустые (не заполненные столбцы) не попадали в нее. Пример во вложенном файле (с примечаниями и вопросами). Дополнительно: Прошу прощения (если таковое требуется) за новую тему, но поиск не рулит, когда сформулировать задачу тяжело. Долго ковырял сводные таблицы, подстановки, функции, но вразумительного от них я не добился (результат вообще 0). С Excel дружу хорошо, но попадая в темы форума, понимаю, что я вообще с ним не знаком (думаю у многих это происходит). Решать стандартным образом (которым решал множество задач) гиперссылками и функциями Если и т.д. не вариант (с ума сойду - это раз, да и некоторые рабочие файлы уже весят по 183 метра - это два). Сильно прошу не пинать. Спасибо. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Вот такая заготовка на доделку:
Код:
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 10.10.2012
Сообщений: 18
|
![]() Цитата:
Честно спрошу: "Куда это пихать?". Без обид, уж если кое-какие коды и понимаю, то тут просто швах! |
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Пихать стандартно в стандартный модуль - поищите где-то как делаются макросы
![]() Тут для примера собранные данные по Просроченные заказы (№) Просроченные заказы (заказчик) Просроченные заказы (стоимость) Просроченные заказы (количество) выводятся ниже таблицы, но можно их выгрузить не в [b30], а в [b6] Ну и дорабатывайте, когда разберётесь в "механике" - или сразу собирать 3 аналогичных массива, или выполнять код 3 раза, меняя диапазоны.
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 10.10.2012
Сообщений: 18
|
![]()
О да задачка так задачка. Уже глаза болят (хотя руки что-то делают), но сложно это, ОООчень сложно. Что можно еще применить товарищи??
пысы: не лентяй ни в коем случае. Просто есть куча всяких задач, и залипать на познание непознанного просто нет времени, да и самостоятельно своими мозгами до этого не дотукать. |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Вроде всё подсказал уже...
Код:
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 10.10.2012
Сообщений: 18
|
![]()
Спасибо за информацию, но все равно глуховато (тупик какй-то).
Повторюсь с кодами глуховато (0,1 миллионная понимания). Долго я все это дело перебирал, в итоге логически дошел до небольшого результата (прогресс явно на лицо): - собирает информацию, но и откуда не надо тоже берет (шикарно было бы иметь возможность прописывать страницу, откуда читать) - определяя диапазон просмотра, механизм собирает не всю информацию (проверяя в ручную, получаю гораздо больше данных). Примечание: - страницы имеют название (иногда длинные) кириллицей - страницы расположены не по порядку (хотя это не важно) Могу попросить небольшие пометки для не образованных, типа <вводим название страницы> <диапазон ввода от столбца 1 до 14> Ну и т.д. Не сочтите за наглость, но в тех вопросах, в которых разбираюсь дам максимально развернутый ответ, ну а где «туплю» прошу доходчиво объяснить, дабы не приставать и мучить людей до беспамятства. |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
"- определяя диапазон просмотра, механизм собирает не всю информацию (проверяя в ручную, получаю гораздо больше данных)." - Вы в файле написали:
"Причем Лист 1, 2 и т.д. содержит максимум возможных столбцов (т.е. последний задействованный столбец это "IJ1"" Т.к. в самом файле последний столбец с данными "K" (и непонятно, что за столбец "IJ1") , то я в коде прописал по максимуму возможных столбцов файла - "E36:K39". Если в рабочем файле нужно до "IJ", то измените на "E36:IJ39" и далее аналогично. И ниже нужно скорректировать количество столбцов в цикле (ниже подробнее). - определяя диапазон просмотра, механизм собирает не всю информацию (проверяя в ручную, получаю гораздо больше данных). - на примере собирает всё. Значит некорректный пример, или поменяйте диапазон в Sub vizov() как я написал выше. <вводим название страницы> - не вводим, берём все подряд от второй и до "забора" <диапазон ввода от столбца 1 до 14> - уже написал: svod "E36:IJ39" - и будет собирать от E до IJ. и тогда в строке For ii = 1 To 7 нужно задать цикл по количеству столбцов от E до IJ. А ещё лучше так: For ii = 1 To Range(r1).Columns.Count Код:
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 10.10.2012
Сообщений: 18
|
![]()
Примного признателен, но к сожалению мой ум пока постиг только долю по макросам.
Код между Sub vizov() и End Sub целиком и полностью понятен (меняем диапазон и все). Разве что…границы между выводимой информации нет (для читабельности), а когда пытаюсь изменить b34 на b35 или b38 на b40 - тогда строчку пропускает, а значения искажаются (разбиваются на две части). Тут у меня засада конечно. Код. For ii = 1 To 7 Тоже понятен. Формируем с 1 по 7 значит с каждой страницы берем от 1 до 7 (если 0 то пропускаем). Код. For ii = 1 To Range(r1).Columns.Count тут выводим все, что находим на страницах. Причем в этом варианте получается огромная портянка, которую вывести на печать не реально. Я так понимаю нужно, как-то (для меня это вообще не мыслимо) заставить формировать в формате А4, где заполнение идет привычным нам образом слева-направо →/сверху-вниз↓. 2 ли это листа или 3 уже не так важно. Далее: 1) По вводу имени страницы: реально требуется эта задача, так как в книге много листов с разносторонней информацией, которую вообще нет смысла выводить. Хотя если нельзя разрешать, то может быть можно запрещать не читать определенные имена страниц. |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
For ii = 1 To 7
заменено на For ii = 1 To Range(r1).Columns.Count т.к. так универсальнее (автоматически определяется количество столбцов в зависимости от заданного диапазона). Вообще эти две строки в частном случае взаимозаменяемы и делают одно дело - просмотр всех нужных столбцов. По вводу имени страницы - да, если есть список нужных или ненужных листов, то их можно фильтровать. Или перебирать только нужные, или перебирать все и анализировать нужные, или наоборот (неанализировать ненужные ![]() Конкретный код зависит от конкретной задачи. Да, с А4 - это отдельная задача, если вручную (или как придётся) печатать не годится, то думаю нужно смотреть вообще форму вывода данных. В общем, конкретно разбираться с конкретным файлом кокнкрентно как Вам нужно.
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 19.03.2014 в 15:13. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Требуется создать отчет по 1с за $ | KitoPoni | Фриланс | 0 | 30.05.2013 15:48 |
создать отчет из формы | незнайка315 | Microsoft Office Access | 5 | 23.05.2011 23:09 |
Как создать отчет? | пОЛЯрная | Помощь студентам | 1 | 26.11.2010 07:41 |
Свзяать три таблицы одно БД в один отчет/таблицу | LA1001 | Microsoft Office Access | 1 | 11.11.2010 15:08 |