Вызовите UserForm_Initialize из модуля - PullRequest
0 голосов
/ 09 октября 2018

Я пытаюсь вызвать Private Sub UserForm_Initialize из модуля.

UserForm_Initialize работает так, как и должно.Оба эти метода (запущенные в Module1) не могут его выполнить:

This

Sub Change()
    Call UserForm_Initialize
End Sub

возвращает «Ошибка компиляции: Sub или Function не определены.»

This:

Sub Change()
    UserForm.Show
End Sub

возвращает «Ошибка времени выполнения« 424 »: требуется объект.

Вот мой код пользовательской формы: Userform_Initialize

1 Ответ

0 голосов
/ 10 октября 2018

Вы не должны запускать UserForm_Initialize извне пользовательской формы.UserForm_Initialize вызывается при создании экземпляра пользовательской формы.

Вместо этого поместите нужные команды в открытую процедуру в модуле кода пользовательской формы:

Public Sub ResetForm
    ' put stuff in here
End Sub

Затем, если вам нужно сброситьUserForm (предположим, он называется UserForm1), вызовите код таким образом из обычного модуля:

Sub Change()
    UserForm1.ResetForm
End Sub
...