Microsoft Excel Webinar

Results 1 to 6 of 6

Thread: Solved: Waiting Form while macro Runing

  1. #1

    Solved: Waiting Form while macro Runing

    Hello,

    I am trying to create this form that will show on the screen while my macro is running to keep the user informed of whats going on. I don't want anything facy just a simple form with a picture and text. Maybe three dots at the end of the label that appear and disappear, but this is completely optional.

    My main issue here is that i cannot get it to work. The form loads but it never disappears from screen. My word application freezes.

    Here is my code

    VB:
     
    Sub FormTryout() 
         
        Load WaitingForm 
        WaitingForm.Show 
         
         'MAKE BOLD THE VALID TIME
         
        Dim rngLook As Range 
         
        Set rngLook = ActiveDocument.Content 
         
        rngLook.Find.ClearFormatting 
        rngLook.Find.Replacement.ClearFormatting 
        rngLook.Find.Replacement.Font.Bold = True 
        With rngLook.Find 
            .Text = "Make this text Bold" 
             
        End With 
        rngLook.Find.Execute Replace:=wdReplaceAll 
         
        WaitingForm.Hide 
         
    End Sub 
    
    
    Formatting tags added by mark007
    Any ideas?
    Feedback is the best way for me to learn


    Follow the Armies

  2. #2
    There is a property on the userform called "ShowModal" ... you want to False. Check the help file.

    Another option is to simply use the Application.StatusBar (check the help file on this) to provide updating as your code runs. This removes the complexity of understanding non-modal userforms (and when to dismiss the userform).

    Try the following code, to see if .StatusBar would do enough for you.

    VB:
    Sub StatusBarTest 
        Dim i As Integer 
         
        For i = 1 To 1000 
            application.StatusBar = "Hello, processing " & i 
        Next 
    End Sub 
    
    
    Formatting tags added by mark007

  3. #3

    Demo Modeless Form

    VB:
    Sub UFDemo() 
        Dim i As Long 
        UserForm1.Show vbModeless 
        Application.ScreenRefresh 
        For i = 1 To 10000 
            UserForm1.Caption = "I'm running as fast a can!! " & 10000 - i & " steps to complete." 
            DoEvents 
            If i = 10000 Then Unload UserForm1 
        Next 
    End Sub 
    
    
    Formatting tags added by mark007

    Quote Originally Posted by fredlo2010
    Hello,

    I am trying to create this form that will show on the screen while my macro is running to keep the user informed of whats going on. I don't want anything facy just a simple form with a picture and text. Maybe three dots at the end of the label that appear and disappear, but this is completely optional.

    My main issue here is that i cannot get it to work. The form loads but it never disappears from screen. My word application freezes.

    Here is my code

    VB:
     
    Sub FormTryout() 
         
        Load WaitingForm 
        WaitingForm.Show 
         
         'MAKE BOLD THE VALID TIME
         
        Dim rngLook As Range 
         
        Set rngLook = ActiveDocument.Content 
         
        rngLook.Find.ClearFormatting 
        rngLook.Find.Replacement.ClearFormatting 
        rngLook.Find.Replacement.Font.Bold = True 
        With rngLook.Find 
            .Text = "Make this text Bold" 
             
        End With 
        rngLook.Find.Execute Replace:=wdReplaceAll 
         
        WaitingForm.Hide 
         
    End Sub 
    
    
    Formatting tags added by mark007
    Any ideas?

  4. #4
    Hi guys,

    I implemented the suggestion provided by Frosty and it works. Well at least the fact that the form shows up while the macro is running. The problem now is that does not show any content only a white form. I am still using the original code the only thing I changed was the form property "ShowModal" false.

    The status bar doesn't work for me. I can only see the end part the beginning is just flickering text. I prefer the form

    By the way Frosty, the macro thats running behind the form is one someone help me out with...I dont know who :?


    This what I should see



    This is what I get

    Feedback is the best way for me to learn


    Follow the Armies

  5. #5
    Try putting

    WaitingForm.Repaint
    or
    Application.ScreenRefresh

    in a couple of different places. My guess is that your Application.ScreenUpdating = False may be adversely impacting this the updating of your form.

  6. #6
    Forty yeah it works now.. perfect.

    Thanks for the help once again
    Feedback is the best way for me to learn


    Follow the Armies

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •