Перерисовать пользовательскую форму в VBA

У меня есть пользовательская форма в VBA, и я хотел бы перерисовать / обновить ее в середине метода.

Когда метод вызывается нажатием кнопки, функция выглядит следующим образом:

UsrForm.Field1.Value = ""
UsrForm.Field2.Value = ""
UsrForm.Label1.Caption = "LOADING..."

/*Processing occurs*/

UsrForm.Field1.Value = val1
UsrForm.Field2.Value = val2
UsrForm.Label1.Caption = "DONE"

Однако обновление формы отображается только после завершения метода. Я получаю val1, val2 и "DONE", но не сообщение "LOADING...". Есть ли способ перерисовать в середине метода?

1 ответ

Решение

Добавлять UsrForm.Repaint после загрузки сообщения:

UsrForm.Field1.Value = ""
UsrForm.Field2.Value = ""
UsrForm.Label1.Caption = "LOADING..."
UsrForm.Repaint
'...
Другие вопросы по тегам