Search code examples
vbalistboxclick

Macro Freezes when ListBox is clicked


I'm using Office Professional Plus 2019. I have a ListBox that sometimes freezes the macro. The UserForm (AffDateSelector) has a ListBox (DateSelectionList) and a Button (Continue). The UserForm is called from the driving Sub with AffDateSelector.show. The code for the form is below:

Option Explicit

Private Sub Continue_Click()
    
    Dim lngCurrItem             As Long
 
    'Assign the selected value to the public variable strClassDate.
    For lngCurrItem = 0 To DateSelectionList.ListCount - 1
        If DateSelectionList.Selected(lngCurrItem) = True Then
            strClassDate = DateSelectionList.List(lngCurrItem)
        End If
    Next lngCurrItem
    
    'Unload the form and return to the calling Sub.
    Unload Me

End Sub

Private Sub DateSelectionList_Click()

End Sub

Private Sub UserForm_Click()

End Sub

Private Sub UserForm_initialize()
    
    'Load ListBoxAccounts with the public variable strDateArray
    With DateSelectionList
        .List = strDateArray
    End With
    
    'Default the first row in DateSelectionList to be selected.
    DateSelectionList.Selected(0) = True

End Sub

I've been using F8 to step through the code. When the form is shown, the UserForm_initialize() sub is executed and the data display properly. If the user does nothing else except click the Continue button, the Continue_Click() sub gets executed, the variable strClassDate is populated, control is returned to the calling sub and all is well. The problem comes when the user selects an item other than the one defaulted in the list. Once the user clicks on the ListForm, the sub DateSelectionList_Click() is executed, but there's nothing in that sub, so the macro freezes. If I put in "dummy code" into DateSelectionlist_Click() (e.g. strClassDate = strClassDate) that line is executed and then the macro freezes when the End Sub statement is executed. How can I allow the user to click on a non-defaulted item in the list, keep the form displayed, and wait for the Continue button to be pressed?


Solution

  • The code was fine. I had a lot of windows open and the pop-up didn't appear I was running the code from the VB editor but the pop-up never appeared. When I pressed Alt + Tab it didn't appear in that list either.