![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 12.05.2009
Сообщений: 273
|
![]()
Здравствуйте.
Есть XLS файл ( лист "POCT" ), используется как база. Из этого база надо получить отчеты, как показано в лист "REPORT". Но, дело в том что, надо получить за день (столбец А (DATA1)) все отчеты сразу. Т,е, если выбрано 17-го число (17.01.2014), надо получить отчеты за все 3 записи 17-го число. А за день может быть больше 300 записей. Как можно решать такую задачу с помощи макроса? Можно конечно делать с помощи сводного отчета, но в этом случае вид не очень похоже на мои. Помогите пожалуйста, как можно делать такое? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Цель этого действа?
Если на печать по одному репорту на лист - тянуть данные В ОДИН ОТЧЁТ с второго листа по номеру накладной, а этот номер подставлять макросом при цикле по данным второго листа (проверяя дату). Подставили, формулы подтянули данные, распечатали, подставили следующий номер. Если где-то зажевало - можно вручную вписать номер и вручную распечатать (что будет затруднительно, если все данные подставлять макросом, что в общем тоже не сложно). Если печатать например по 4 репорта на лист - можно в цикле вытягивать 4 номера и печатать. Если нужно сразу сгенерить столбцом 300 репортов - тоже можно (разными способами), но зачем?
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 12.05.2009
Сообщений: 273
|
![]()
Если на печать по одному репорту на лист - это можно сказать, уже есть.
Но, мне надо именно по дате, за день все отчеты сразу ( на 1 лист может поместится 4 или 6 репорт). Это -для экономие бумагу и времени (чтобы за 1 клик все репорты за день) |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Так все сразу или по 4/6?
Если сразу все - скорее всего замучаетесь разбивать на страницы, если задумаете печатать. Если печатать не нужно - так и говорите.
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 12.05.2009
Сообщений: 273
|
![]()
За 1 день все сразу, только по 4/6 репорта на одном листе?
Т,е, если за 1 день 15 записей есть, тогда получается 2 листа по 6 репорта (2*6=12) и еще 1 лист -3 репорта. Печатать нужно . |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Хорошо.
6 или всёж 4? Как расположены на листе? В каком порядке хотите заполнять? Если настаиваете что нужно на один лист вывести все 300 - может и сделаю, но делить на страницы не буду (это дополнительная опция за отдельные деньги ![]() Думаю что сразу все выводить на один лист не нужно. Ещё что - я думаю не страшно распечатать последнюю страницу с например двумя заполненными формочками и четырмя пустыми рамками? Возится с этими рамками - это тоже дополнительная опция ![]() Но - не ждите что вот так сейчас и сразу будет готово... Работа, да и обед скоро... Другие тоже могут поучаствовать, если кому не лень. Потом может быть сравним варианты ![]() Задача не сложная, но чтоб сделать оптимально/красиво - нужно подумать. Через кучу if-then не интересно...
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 12.05.2009
Сообщений: 273
|
![]()
Спасибо, Hugo121.
В одном листе 8 будет. (Я сейчас проверяла 8 репорт помешается на 1 лист) На листе расположены как в файле. Не надо на один лист вывести все 300, на 1 лист 8 будет Я тоже думаю что не страшно распечатать последнюю страницу так как Вы говорите. __________________ |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 12.05.2009
Сообщений: 273
|
![]()
Volodshan, я не сказала что печатать НЕ НАДО.
Да, предложили мне вариант слияния в Ворд, но я не смогла этого делать. |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
1. Очистите лист репортов от всех данных в этих формах, кроме заголовков полей.
2. Нижнюю формочку подвиньте выше, чтоб была как все ![]() 3. На листе "Poct" поставьте курсор на ячейку с нужной датой, выполните код (можно сделать кнопку, или по Alt+F8, или меню ячейки можно сообразить, не важно как): Код:
Option Base 1 обязательно! Или меняйте код.
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 22.01.2014 в 18:48. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Отчеты | MINDKILLER | БД в Delphi | 0 | 09.05.2012 17:33 |
ОТЧЕТЫ ИЗ 1С | Андрей_Ш | Microsoft Office Excel | 2 | 12.12.2011 13:23 |
Отчеты | Крокодил | Помощь студентам | 5 | 21.05.2009 11:12 |
Отчеты | wolf950 | Помощь студентам | 3 | 28.02.2009 12:03 |
Отчеты? | Ash | БД в Delphi | 1 | 09.12.2008 08:55 |