Загрузка курсора отображается, когда пользовательская форма вызывается из другого - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть userform1, который вызывает другого userform2 для принятия некоторых данных.Как только я успешно выгрузил пользовательскую форму 2, элемент управления возвращается к пользовательской форме 1. Однако я замечаю синий курсор загрузки (вращающийся).В то время в пользовательской форме 1. ничего не работает, но это нормально, как только я щелкаю где-то на листе.

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

Дополнительная информация: пользовательская форма 2 может быть доступна пользовательской форме 1 и 3. Сценарий, о котором я упоминалзагрузка курсора происходит, когда пользовательская форма 1 вызывает пользовательскую форму 2, и agentupdateflag будет иметь значение ЛОЖЬ в течение этого времени и значение true, когда экран вызывается пользовательской формой 3

Код, где пользовательская форма 2 называется

Private Sub agentname_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    agentupdateflag = False
    On Error Resume Next
    userform2.Show
End Sub

инициализация пользовательской формы 2код

Private Sub UserForm_Initialize()

agentstatus.AddItem ("Active")
agentstatus.AddItem ("Inactive")

If agentupdateflag = True Then
    Userform2.Agentid.Caption = Userform3.agentlist.List(Updateval, 0)
    Userform2.Agentname.value = Userform3.agentlist.List(Updateval, 1)
    Userform2.agentaddr.value = Userform3.agentlist.List(Updateval, 2)
    Userform2.agentcontact.value = Userform3.agentlist.List(Updateval, 3)
    Userform2.agentstatus.value = Userform3.agentlist.List(Updateval, 5)
    Userform2.agentidproof.value = Userform3.agentlist.List(Updateval, 6)
    Userform2.Caption = "Update Agent Details"
    addagent.Caption = "Update Agent"
    agentstatus.Locked = False
Else
    agentstatus.value = "Active"
    agentstatus.Locked = True
End If

End Sub

код завершения пользовательской формы 2, где происходит некоторая обработка

Private Sub UserForm_Terminate()

If agentupdateflag = False Then
    Application.EnableEvents = False
On Error GoTo err1
    Userform1.agentname.Clear
    j = 2
    Set ShDest = ThisWorkbook.Worksheets("Agent_info_Temp")
    Final_lastrow = ShDest.Cells(ShDest.Rows.Count, "B").End(xlUp).Row
    Final_lastcol = ShDest.Cells(1, ShDest.Columns.Count).End(xlToLeft).Column
    ShDest.Activate

    With Userform1.agentname
        Do While j <= Final_lastrow
            If Trim(ShDest.Range("a" & j).value) <> "" Then
            .AddItem (ShDest.Range("a" & j).value & " - " & ShDest.Range("B" & j).value)
            End If
            j = j + 1
        Loop
    End With
    Userform1.agentname.ListIndex = Userform1.agentname.ListCount - 1
    Application.EnableEvents = True
    'Unload Me
Else
    'Unload Me
    Call Userform3.searchagent_Click
End If
'Unload Me

err1:
If Err.Number <> 0 Then
    Msg = "Error # " & Str(Err.Number) & " was generated by " _
            & Err.Source & vbNewLine & vbNewLine & Err.Description & vbNewLine & vbNewLine & "Contact System Admin."
    MsgBox Msg, vbOKOnly + vbCritical, "Critical System Error Encountered !", Err.HelpFile, Err.HelpContext
End If
Exit Sub

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...