Вызов подпрограммы UserForm_Click - PullRequest
0 голосов
/ 06 марта 2020

У меня есть пользовательская форма VBA, и я хотел бы, чтобы она закрывалась, если пользователь щелкает мышью в любом месте (желательно в любом месте экрана, но я возьму в любом месте пользовательской формы как работающий 2-й лучший вариант).

Вот моя единственная строка кода в подпрограмме Userform_Click, которая находится в коде пользовательской формы (ни в стандартном модуле, ни в «этой рабочей книге», ни в рабочей таблице):

Private Sub UserForm_Click()

    Unload Me

End Sub

Кажется, проблема в том, что я вызываю подпрограмму UserForm_Click. Неважно, где и сколько раз я нажимаю, кажется, что он никогда не вызывается. Кажется, это должно быть так просто, но я должен что-то упустить.

Извинения, если об этом спрашивали в другом месте, но я не смог найти ответ на этот конкретный c вопрос в моих поисках.

Ответы [ 2 ]

0 голосов
/ 06 марта 2020

Если в форме есть элементы управления, и вы нажимаете на элемент управления, то вы фактически не нажимаете на фон формы, так что событие не будет вызвано.

0 голосов
/ 06 марта 2020

BraX решил это!

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

Private Sub Background_Click()

    Unload Me

End Sub

Аналогично, для любых других объектов пользовательской формы .

Спасибо, Брэкс!

...