Обработчики событий Private
по причине. Создание их Public
будет работать, но это не то, что вы должны делать.
Переместить код из этих обработчиков в их собственные публичные процедуры; затем вызовите эти процедуры из соответствующих обработчиков - и вызовите те же процедуры в соответствующем порядке из этого обработчика кнопки команды.
Например, вы берете это:
Private Sub Button2_Click()
'do stuff
End Sub
Преврати это в:
Private Sub Button2_Click()
DoStuff
End Sub
Public Sub DoStuff()
'do stuff
End Sub
Тогда вы можете вызывать DoStuff
откуда угодно.
Обработчики событий никогда не должны вызываться напрямую, и никогда не должны быть вызваны.