Страницы: 1
RSS
заполнение бланков
 
Как говорится "старая песня о главном". В разделе "Приемы" http://www.planetaexcel.ru/tip.php?aid=99 печать одного бланка по отмеченной строке. А если не "играться" по одному бланку, как отметить несколько строк и напечатать несколько бланков одновременно?
 
Циклом.  
Для каждой ячейки соседнего столбца (да вообще любого, какой свободный) - если есть метка, ставим рядом х, печатаем форму.
 
Попробуйте эту программу:  
http://excelvba.ru/programmes/FillDocuments  
 
Там, помимо печати нескольких (или всех) строк, есть множество других возможностей.
 
Мне очень стыдно, я не знаю, как "циклом". Если отметить несколько строк ,бланк всё равно напечатается один. А как отметить, допустим, 5 строчек "Х" и распечатать 5 бланков одной формы ? Очень прошу,если можно, МАЛЮСИНЬКИЙ примерчик (для особо тупых)
 
Т.е. предлагаете показать Вам мой бланк?  
Вы знаете, как это не удивительно, но мне такой бланк не нужен, поэтому у меня его нет...  
Или Вы хотели, чтоб я его для Вас сделал? Т.е. не для Вас, а в мусорник, т.к. практического применения ему не будет.
 
зачем же в мусорник! Надо чтобы многоразового пользования
 
В L ставите x (кого хотите печатать), затем запускаете код:  
 
Sub tt()  
   Dim cc As Range  
   For Each cc In Sheets("Данные").UsedRange.Columns(12).Cells  
       If cc.Value = "x" Then  
           cc.Offset(, -11) = "х"  
           Sheets("лист кас.кн.").PrintOut  
       End If  
   Next  
End Sub  
 
 
Только осторожно с этими x, не попутайте раскладку! (я и сам не помню, в какой что где... Лучше всюду х заменить на v)
 
Куда это вставить : Лист "данные", исходный текст - вставить?  
У меня не получается
 
Я вообще-то обычно код ставлю в стандартный модуль (добавляю в проект), но всё работает и так, как Вы сделали.  
Только перечитайте первую строку:  
"В L ставите x (кого хотите печатать), затем запускаете код"  
Т.е. в столбце L тем, кого хотите печатать, ставите "х".  
И последнюю:  
"Только осторожно с этими x, не попутайте раскладку!"
 
спасибо, что помогали, только у меня так ничего и не получается
 
Ваш файл - добавил кнопку, удалил из одного листа лишний макрос, чтоб не путался.  
Ну и поставил пару "х" в столбец L :)
 
Спасибо, но не то. Печатает один бланк в 2-х экз., а надо на каждую отмеченную строку один бланк (с данными конкретной строки)
 
Извините, уточняющий вопрос в файле
 
Можно и галочками - только далее сами будете все галки связывать вручную с ячейками :)  
И да, не печатало как нужно - я не заметил, что Вы удалили из файла часть родного кода :(  
Помнил, что в первом файле всё работало - не стал проверять...
 
"только далее сами будете все галки связывать вручную с ячейками :)" - это как ? я не знаю как их вообще делать, просто где-то скопировала и вставила. если не сможете подсказать сами как это делается, то хоть ссылочку для "почитать" дайте.
 
Ну я предложил легко и просто помечать строки любой буквой, с клавиатуры.  
Вариант чуть сложнее - ставить эти символы даблкликом по ячейке (нужно ещё один макрос написать).  
Вы захотели использовать эти элементы - пожалуйста, используйте, но это самый неудобный вариант на стадии разработки.  
Нужно расставить эти элементы, у каждого в свойствах указать связанную ячейку, на значение которой ориентировать код.  
У связанных ячеек задал цвет шрифта белый, чтоб эти значения не мешали. Хотя их можно помещать и в скрытый столбец - кстати неплохо смотрится в примере, если L скрыть.
 
"указать связанную ячейку, на значение которой ориентировать код." - для меня это лес дремучий, можно сначала и поковыряться с документом, чтобы потом было быстрее, но как СВЯЗАТЬ ячейки (например?)
 
Кликаете на свой чекбокс правой клавишей мыши, выбираете в меню "Format Control" (не помню, как в русском варианте) - там далее указываете ячейку, куда будет выводиться значение TRUE/FALSE.  
Это стандартная схема использования этих элементов.  
Ну а в коде проверяете эти значения, а не буквы, как было в  моём первом варианте.  
 
Конечно, если эта форма долгое время будет неизменна, то есть смысл один раз её сделать красивой и удобной для использования.
 
Спасибо, буду пытаться. Форма будет неизменной, только строк будет раз в пять больше.
 
Если строк много - то будет сложно все чекбоксы отследить. Да и настраивать много работы, хоть и один раз.  
Я бы вероятно делал постановку/снятие галочек прямо в ячейки даблкликом, вот как в приёмах описано  
http://www.planetaexcel.ru/tip.php?aid=36  
А в заголовке таблицы поставил фильтр.  
Так легко просмотреть/отменить выбранных, не выискивая их глазами.  
Да и отменить все просто - выделяем диапазон, удаляем.  
Но как хотите, это просто совет.
 
Большое спасибо за помощь
 
Я бы вероятно делал постановку/снятие галочек прямо в ячейки даблкликом, вот как в приёмах описано  
http://www.planetaexcel.ru/tip.php?aid=36  
А в заголовке таблицы поставил фильтр.  
 
А как это связать с заполнением бланка и выводом на печать?
 
Бланк берёт данные на основе ВПР() по одной первой метке в определённом столбце (вернее здесь макрос сам стирает все другие метки, но это не суть, это детали реализации).  
Значит мы макросом подставляем эту метку (перебирая выставленные галки в другом столбце), формируется бланк, его печататем, подставляем следующую метку и т.д.  
Можно чуть код переделать - убрать часть кода стирающую лишние метки, и стирать и ставить их по одной основным кодом.  
Но это уже мелочи реализации. Основное - форма ВПР()ом тянет данные по меткам, которые по одной ставятся управляющим макросом.
 
в приёме http://www.planetaexcel.ru/tip.php?aid=36 ничего не говорится о макросе на печать. Может надо Ваш код :  
Sub tt()  
Dim cc As Range  
For Each cc In Sheets("Данные").UsedRange.Columns(12).Cells  
If cc.Value = "x" Then  
cc.Offset(, -11) = "х"  
Sheets("лист кас.кн.").PrintOut  
End If  
Next  
End Sub  
подставить?
 
Давайте посмотрим шире, не смотрим на мелочи:  
 
В приёмах после выставления метки в бланк по этой метке подтягиваются данные. Затем что хотите, то с бланком и делайте - можно печатать, можно копипастить данные в другой файл, что угодно.  
Мой макрос делает как раз эти операции - в цикле подставляет метки и печатает полученное.  
 
Теперь если смотреть реализацию, тут уже можно рассматривать приведённый код - по какому столбцу идёт цикл, какие значения там ищет, куда ставит метки, какие метки, какой лист печатает...  
5 вопросов по 4-м строкам :)
 
{quote}{login=Hugo}{date=25.11.2012 04:06}{thema=}{post}Теперь если смотреть реализацию, тут уже можно рассматривать приведённый код - по какому столбцу идёт цикл, какие значения там ищет, куда ставит метки, какие метки, какой лист печатает...  
5 вопросов по 4-м строкам :){/post}{/quote}  
какому столбцу идёт цикл -    
какие значения там ищет - столбец "В", например,    
куда ставит метки - столбец "А",    
какие метки - "галочки",    
какой лист печатает..."лист кас.кн.", но одновременно на все строки, отмеченные галочками
Страницы: 1
Читают тему
Наверх
Loading...