Страницы: 1
RSS
Счетчик печати документа, Изменять номер заказа после его печати
 
У меня есть номер заказа, возможно его менять  на +1  каждый раз после того как я его распечатал. Т.е. чтобы вести учет заказов автоматически а не каждый раз вручную его изменять.
 
Думаю, что возможно. Файл с примером увеличит шансы помочь Вам. Кстати, об этом говорится в правилах. Прочтите их.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Ок, спасибо за подсказку.Изменять номер в позиции товарный чек
 
Вариант.
 
или так
Код
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim a
a = Split([a1], "№")
a(1) = Format(a(1) + 1, "000000")
[a1] = Join(a, "№")
End Sub
только номер меняется перед печатью. В обоих вариантах.
 
Цитата
Михаил С. пишет:
только номер меняется перед печатью. В обоих вариантах.
Зная это, можно начинать с номера, который меньше на единичку))
 
Михаил С., я так понимаю это записывается макрос и вызывается он по сочетанию клавиш ctrl+p? А можно сделать чтобы номер менялся по нажатию клавиши ОК в меню печати, просто если нажимаешь отменить печать а номер уже изменился, может возникнуть какая-то путаница или этого нет в возможностях эксель?!
 
М-да. Опоздал. Долго писал макрос. Идея та же. Зато показали где можно сократить. :)

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Цитата
f1alexey пишет:
А можно сделать чтобы номер менялся по нажатию клавиши ОК в меню печати,
А попробовать не судьба? принтера нет?
 
Принтер есть))).Попробовать можно , знать бы как это сделать. Опыта написания макросов нет.
 
Мой вариант проверяли?
 
Ваш меняет номер перед выводом окна печати.
 
f1alexey, просто отправляете лист на печать (лучше виртуального пдф принтера чтобы бумагу не портить) и номер меняется на +1 там где просили.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Цитата
f1alexey пишет: Опыта написания макросов нет.
у Юрия макрос уже в книге.  :)  
Вот мой вариант.
Макросы можно посмотреть Alt+F11 - модуль "Эта книга"
Цитата
JayBhagavan пишет: чтобы бумагу не портить
Для этого всегда под рукой должны быть листы б/у  :)
Изменено: Михаил С. - 11.08.2014 01:30:49
 
Цитата
f1alexey пишет: Ваш меняет номер перед выводом окна печати.
Начните с нуля)) Вариант Михаила будет действовать точно так же, о чём он и сообщил Вам.
 
Или нарисовать на листе кнопку, по которой лист будет отправляться на печать, а уже потом макрос изменит номер.  
 
Цитата
только номер меняется перед печатью. В обоих вариантах.
Зная это, можно начинать с номера, который меньше на единичку))
А как бы это пояснить, что-то смысл где-то потерялся для меня ;)
 
Цитата
Юрий М пишет: Или нарисовать на листе кнопку, по которой лист будет отправляться на печать...
Чем дальше тем все запутанней , пожалуй остановлюсь на самом простом)
Всем спасибо за помощь.
 
Цитата
Юрий М написал:
Или нарисовать на листе кнопку, по которой лист будет отправляться на печать, а уже потом макрос изменит номер.  
Добрый день, Юрий!
Не могли бы помочь нарисовать кнопку, чтобы номер меньше на единицу не делать?
Т.е. номер, который  нужно напечатать был, а после печати документа, номер прибавлялся +1.

Заранее благодарю!
 
smalljohn,  можно я помогу? Выбирайте любую: http://prntscr.com/tuctjp
 
Hugo, кнопку? Без разницы. Обычный прямоугольник, если можно с надписью "Печать"
 
Так берите любой из показанных (они все у Вас есть в Вставка->Фигуры), пишите на нём что хотите.
Изменено: Hugo - 05.08.2020 12:22:21
 
Добрый день!

Подскажите пожалуйста, как скопировать макрос:

" Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim a
a = Split([a1], "№")
a(1) = Format(a(1) + 1, "000000")
[a1] = Join(a, "№")
End Sub"

в другую ячейку, например - в А29
 
Павел Панин, так?
Код
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim a
a = Split([a29], "№")
a(1) = Format(a(1) + 1, "000000")
[a29] = Join(a, "№")
End Sub
 
Цитата
написал:
Private Sub Workbook_BeforePrint(Cancel As Boolean)Dim aa = Split([a29], "№")a(1) = Format(a(1) + 1, "000000")[a29] = Join(a, "№")End Sub
Да, благодарю вас!
Страницы: 1
Наверх