Userform parallel neben Makro laufen lassen

  • Excel

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Adrian.

    Userform parallel neben Makro laufen lassen

    Hallo,

    ich moechte eine Userform als Informationsbalken WAEHREND der Ausfuehrung anzeigen lassen. Dafuer habe ich den Code benutzt:

    Visual Basic-Quellcode

    1. Load UserForm1
    2. Call UserForm1.FillVars(Progress)
    3. UserForm1.Show


    Progress ist meine zu uebergebende Variable die ich nach jeder Schleife hochsetze. Jedoch funktioniert das nicht, da ich die Userform erst schliessen muss bevor das Makro weiterlaeuft. Wie kann ich es "parallel" laufen lassen?



    Vielen Dank schon mal
    Dazu müsste man wissen, welche Excel Version Du hast.
    Ab Excel 2000 geht es so:

    Visual Basic-Quellcode

    1. UserForm1.Show vbModeless



    Ein Beispiel: benötigt werden eine Userform (Userform1) und ein Modul (Modul1).
    auf die Userform kommen ein Label (Label1) und ein Button(cmdStopp)

    Code der Userform:

    Visual Basic-Quellcode

    1. Option Explicit
    2. Private Sub cmdStopp_Click()
    3. Modul1.bStop = True
    4. End Sub
    5. Public Sub SetValue(ByVal Wert As Byte)
    6. Dim b As Byte
    7. Dim s As String
    8. For b = 0 To Wert
    9. s = s & "|"
    10. Next b
    11. Label1.Caption = s
    12. DoEvents
    13. End Sub


    Code des Moduls:

    Visual Basic-Quellcode

    1. Option Explicit
    2. Public bStop As Boolean
    3. Private Sub test()
    4. Dim i As Long
    5. Dim b As Byte
    6. UserForm1.Show vbModeless
    7. Do
    8. i = Timer + 1
    9. While Timer < i
    10. Wend
    11. b = b + 1
    12. If b = 30 Then bStop = True
    13. UserForm1.SetValue (b)
    14. Loop While bStop = False
    15. Unload UserForm1
    16. End Sub


    Eine Alternative wäre den Code einfach komplett in die Form zu bringen...
    Gruß
    Peterfido

    Keine Unterstützung per PN!