Unload Me не помогло...
Но в целом проблема решилась, спасибо огромное!
Очень помогла следующая строчка от Игоря :
Код |
---|
1 | Application.ontime now + 1/86400, "UpdateForm"
|
|
Соответственно код имеет следующий вид.
Кнопка в форме:
Код |
---|
1 2 3 4 | Private Sub CommandButton7_Click()
Application.OnTime Now + 1 / 86400, "UpdateUserForm"
Unload Me
End Sub
|
|
Макрос:
Код |
---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Sub UpdateUserForm()
On Error GoTo Error1
With ThisWorkbook.VBProject.VBComponents
.Remove .item( "UserForm1" )
End With
Error1:
On Error GoTo Error2
ThisWorkbook.VBProject.VBComponents.Import ( "...\UserForm1.frm" )
MsgBox "Успешно!"
Exit Sub
Error2:
Application.OnTime Now + 1 / 86400, "UpdateUserForm"
End Sub
|
|
Ранее застревал в макросе на второй ошибке, не удавалось ему импортировать форму, т.к. форма использовалась (в предыдущем сообщении описывал проблему) и надо было макрос запускать еще раз, потому что он только удалил форму.
Dima S, согласен с тем что пользователю лучше поменьше знать и видеть лишних табличек, но пренебрегаю этим, так как обновление это будет не столь частым.