Страницы: 1
RSS
Автоматическая печать листов по заданным условиям
 
Имеется книга рецептов (200-250 листов).  
1й лист - общий лист заказа (сколько заказано каждой позиции), далее под каждую позицию отдельный лист с расчетом ингредиентов в зависимости от того, сколько заказано.  
Ежедневно есть необходимость печатать эти листы в определенном порядке (допустим, блок1=лист1, лист5, лист 124, лист 130; блок2=лист135, лист 140, лист 200; и тд).  
Вручную листать все 200листов очень неудобно, нужно печать как-то автоматизировать. Посоветуйте как удобнее сделать. Вижу 3 варианта решения:  
1). Макросы для печати каждого блока. Но макрос должен автоматом проверять 1й лист файла и печатать блок следующим образом:  
если позиция1 заказано >0, то печатать соответствующий лист, если в заказе нету (0), то не печатать, проверять позицию2.  
2). Возможно существуют как отдельная надстройка - менеджеры листов, в которых можно эти листы как-то группировать, далее выделять например через shift/ctrl в менеджере для печати, либо сразу печатать всю группу. Стандартными средствами excel, как я понял листы нельзя сгруппировать должным образом (вывести например в 2 ряда и тп).  
3). Сгруппировать эти листы в трее по блокам (порядок = сначала листы блока1, потом листы блока2 и тд), завести отдельный лист, где будут стоять гиперссылки на начало каждого блока. т.е. переходим по гиперссылке например на начало блока, все листы блока выделены цветом, далее печатаем все "красные" листы и переходим к след. блоку и т.д.  
 
Какое решение посоветуете. p.s. правой клавишей жать на прокрутку листов, чтобы появился список всех доступных листов - не вариант, повторюсь, листов в книге >200.  
 
Заранее спасибо
 
3 вариант наименее удобен, т.к. позиции в этих блоках иногда пересекаются между собой (допустим, лист4 печатается одновременно в разных блоках).
 
примерчик  
-кусочек 1-го листа  
-и пару листов согласно 1-го кусочка
 
Кинул вложение.  
Лист1 - заказ.  
остальные листы - рецепты.  
 
По факту их в оригинале >200, их нужно печатать будет блоками (каждому сотруднику определенные листы), соответственно если заказано 0 порций, то печатать соответствующий лист не нужно.
 
печатаем  
--питца    
-----рецепт  
-----  
-----  
 
--селедка под шубой  
-----рецепт  
-----  
-----  
 
----------------------------------  
вопросы  
--могут ли они быть на 1 странице, или каждый с новой  
--слово блок --видимо подразумевает исполнителя(салаты готовит иванов, питцы-сидоров .....)
 
1). Этот файл будет в итоге использоваться различными подразделениями, кому-то может потребоваться распечатать строго один определенный лист. Или в случае если один лист в блоке после распечатки утерян.  
Планирую на 1м листе сделать "оглавление" - гипер-ссылки с каждой позиции на соответствующий лист. поэтому разделение четкое - 1лист=1позиция.  
Не понимаю зачем переносить в word, в зависимости от кол-ва в заказе, в листе рецепта значения тоже будут же всегда перерасчитываться.  
2). Блок действительно подразумевает исполнителя. Поэтому хотелось в идеале это выполнить макросом (кнопка1 - печать рецептов для иванова, кнопка2 - печать рецептов для сидорова и тп). Технологически получается так, что один и тот же рецепт может быть нужен и иванову и сидорову, поэтому идеально сгруппировать листы в любом случае не получится.
 
Блок действительно подразумевает исполнителя. Поэтому хотелось в идеале это    
------------------------------------------  
получается лист1 надо пополнить столбиками  
--иванов  
--петров  
--сидоров  
--разовый выбор  
--------------  
--имя листа
 
для начала, см файл
Редко но метко ...
 
Gig_ant  
Удобная вещь, но по факту этих блоков будет несколько, поэтому желательно иметь просто несколько кнопок печать1, печать2 и тп (в коде каждого макроса будет указано вручную, какие листы печатать).  
Просто в общей выборке, которая сейчас имеется, фактически при кол-ве в 200 листов ежедневно придется отмечать одни и те же галочки для печати по списку. Список этот практически никогда не будет меняться и лучше необходимые для печати листы сразу добавить в тело макроса.  
 
p.s. и если возможно напишите еще, каким образом можно печатать например определенную страницу на листе, а не весь лист (на вба)
 
чем вас не устраивает  
------------------------  
------------------------  
получается лист1 надо пополнить столбиками  
--иванов  
--петров  
--сидоров  
--разовый выбор  
--------------  
--имя листа  
-------------------------
 
Можно добавить столбцы с исполнителями, там допустим крестиком помечать напротив каждой позиции при необходимости печатать соответствующий лист.  
В любом случае необходим макрос, который печатает все листы для каждого исполнителя (листы, соответстующие крестикам в колонке этого исполнителя в листе1).  
Даже можно через =если ставить эти крестики если позиция присутствует в заказе, не нужно будет это наличие проверять макросом, но сами связанные листы необходимо печатать на автомате.
Страницы: 1
Читают тему
Наверх