userForm - одна функция afterChange для всех кнопок - PullRequest
0 голосов
/ 05 февраля 2019

У меня много кнопок в пользовательской форме.Я не хочу писать для каждой кнопки функцию "afterUpdate", потому что каждая будет похожа.Способ сделать это проще, чем написать одну функцию для одной кнопки?

Sub button1_afterUpdate()

End sub


Sub button2_afterUpdate()    
    '............

    'The same code as button1 function

    '...........
End sub

1 Ответ

0 голосов
/ 05 февраля 2019

Простым способом было бы создать подпрограмму для фактического кода, который является именем для каждой кнопки:

Sub RunThisForEveryButton_afterUpdate()

    'This is the same code that should run in every button

End Sub

И затем вызывать эту подпрограмму в каждом событии…

Sub button1_afterUpdate()
    RunThisForEveryButton_afterUpdate
End sub

Sub button2_afterUpdate()    
    RunThisForEveryButton_afterUpdate
End sub

Другой подход заключается в создании одного события для всех кнопок с использованием WithEvents.Посмотрите здесь VBA: Использование WithEvents на пользовательских формах .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...