Why does Showing a UserForm as Modal Stop Code Execution?
The following VBA code stops at Me.Show . From my tests, it seems that Me.Show stops all code execution, even if the code is inside the UserForm. This part is outside the UserForm : Public Sub TestProgress() Dim objProgress As New UserForm1 objProgress.ShowProgress Unload objProgress End Sub This part is inside the UserForm : Private Sub ShowProgress() Me.Show vbModal Dim intSecond As Integer For intSecond = 1 To 5 Application.Wait Now + TimeValue("0:00:01") Me.ProgressBar1.Value = intSecond / 5 * 100 Next intSecond Me.Hide End Sub The code stops at Me.Show , after the UserForm is displayed.