Страницы: 1
RSS
Поочередное назначение макросов кнопке
 
В общем у меня в заявке есть три кнопки одна отправляет заявку на согласование после ее нажатия она исчезает и должна появиться вторая кнопка, она тоже выполняет определенные функции и сохраняет заявку в нужную папку отправляя ее письмом для исполнителя перед этим скрывается эта кнопка и появляется третья исполнено. если я сделаю на открытие книги сокрытие второй и третьей кнопок то они будут снова исчезать когда следующий пользователь будет открывать книгу.
Есть идеи как это сделать?
Можно вероятно создавать следующую кнопку и привязывать макрос на неё после нажатия предыдущей?
подскажите основные команды как создать кнопку, задать размеры в см и как ее разместить в нужные координаты или привязать к ячейке, задать надпись и шрифт с размерами, А так же привязать макрос, ну или посоветуйте какую нибудь статейку на эту тему
Изменено: vikttur - 04.10.2021 10:43:47
 
Это уже целый курс
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Для простого действия написать непростой код. Откажитесь от этой затратной идеи.
Например, можно создать небольшую немодальную форму с тремя кнопками, которая будет висеть, например, в левом верхнем углу экрана. Нажатие кнопок можно блокировать программно.

Еще вариант: одна кнопка, на которой меняется надпись , функционал кнопки зависит от надписи
 
Цитата
Alemox написал:
Это уже целый курс
А мне кажется это 10-12 строк примера кода смысл его я и сам пойму
 
Семен Фадеев, сделайте ОДНУ кнопку (я делаю фигуру и вешаю макрос на неё) и двигайте её, красьте и называйте по-разному
На кнопку повесьте 1 макрос, который идёт 3мя путями (или вызывает 3 макроса) - в зависимости от ситуации
Пример (щёлкайте по кнопке)
Изменено: Jack Famous - 01.10.2021 11:37:27
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
vikttur написал: Нажатие кнопок можно блокировать программно.
Как заблокировать в самом начале две кнопки? если блокировать при открытии книги они всегда будут заново блокироваться
 
Цитата
Семен Фадеев написал:
у меня в заявке есть три кнопки
Где? На форме или листе?
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
На листе

Цитата
Jack Famous написал: сделайте ОДНУ кнопку... На кнопку повесьте 1 макрос, который идёт 3мя путями (или вызывает 3 макроса) - в зависимости от ситуации
Эммм что то я туплю что значит тремя путями? просто первый раз кнопка должна сделать одно, второй раз другое и третий раз третье и уничтожиться, да можно не создавать новые кнопки просто перерисовывать старую, вот для этого мне нужно пару строчек кода как привязать макрос на ... и как сменить надпись хотя думаю найду.
Код
ActiveSheet.Shapes("Button2")
 
см.вложение
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
При открытии книги на кнопке пишем "Ахтунг!", после первого нажатия - надпись - "Сделано". Второй клик меняет надпись на "Класс", третий возвращает  "Ахтунг!"
Код
Sub SUPERmacro()
     Witn ActiveSheet.Shapes("Button2")
          Select Case .Caption
          Case "Ахтунг!"
                .Caption = "Сделано"
                действие1
          Case "Сделано"
                .Caption = "Класс"
                действие2
          Case "Класс"
                .Caption = "Ахтунг!"
                действие3
          End Select
     End With
End Sub
 
Семен Фадеев, сделал полноценный пример в #5
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
см.вложение
1 кнопка - 3 макроса
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
vikttur, Jack Famous, Ігор Гончаренко, господа, благодарю, дайте время разобраться и запилить то что мне нужно) возьмем паузу  
Изменено: vikttur - 01.10.2021 11:46:02
 
:)  Всем спасибо с кейсами не смог с ходу вникнуть а читать новый материал некогда пока, хвостатому отдельное спасибо, просто и доступно новичку.
Задачка решена!
ЗЫ  Ігор Гончаренко спасибо по вашему коду кажется понял Case как применять в принципе.
Изменено: Семен Фадеев - 04.10.2021 09:59:58
Страницы: 1
Наверх