16. oktober 2008 - 13:52Der er
9 kommentarer og 1 løsning
popup vindue
Jeg kunne godt tænke mig en "BOKS" med en information om at excel arbejder, jeg har en masse makroer som kører, og mens den gør det (ca.3-4 sek) kunne jeg godt tænke mig at brugeren kan se at der sker noget, er der nogen som har en god ide til det?
prøv at køre denne og se på statusbaren, nederste linje i excel
Public Sub Test() Dim I Application.StatusBar = "arbejder med hentning af data" For I = 1 To 100000000: Next Application.StatusBar = " arbejder med formatering af data" For I = 1 To 100000000: Next Application.StatusBar = " arbejder med aflevering af data" For I = 1 To 100000000: Next Application.StatusBar = " Færdig" For I = 1 To 100000000: Next Application.StatusBar = ""
End Sub
øverst i hver makro, kan du så vælge hvad der skal stå i statusbaren
hvis der ikke er andre forslag er dette dog en mulighed, jeg tænkte om man kunne få en boks midt på skærmen som popper op ved start og forsvinder når alle makroer er færdig!
Det kan du godt, så skal du lave en userform, skriv noget på den og få den frem når første makro køres. Bemærk. Userformen skal have tid til at komme frem, så du skal lave en løkke, med do events i, for at den dukker frem, med tekst i.
Public Sub Start() Vent.Show ' Vent er navnet på min Userform For I = 1 To 10000 ' hvis vi ikke giver tid inden makroer køres, kommer userformen ikke frem DoEvents Next
' kald så dine makroer her Vent.Hide Unload Vent End Sub
Husk at sætte userformen properties ShowModal til False
et spørgsmål til Kabbak du skriver at hvis man vil havde statusbaren synlig skal man indsætte denne( Application.DisplayStatusBar = True )men hvor skal den være i forhold til det andet du har skrevet.
anne-lise > Den skal bare være i starten af koden, inden du skriver hvad der skal stå i den.
Eksempel :
Public Sub Test() Dim I, Synlig As Boolean Synlig = False If Application.DisplayStatusBar Then Synlig = True ' tjekker om baren er synlig If Not Synlig Then Application.DisplayStatusBar = True ' hvis ikke gøres den synlig Application.StatusBar = "arbejder med hentning af data" For I = 1 To 100000000: Next Application.StatusBar = " arbejder med formatering af data" For I = 1 To 100000000: Next Application.StatusBar = " arbejder med aflevering af data" For I = 1 To 100000000: Next Application.StatusBar = " Færdig" For I = 1 To 100000000: Next Application.StatusBar = "" If Not Synlig Then Application.DisplayStatusBar = False ' hvis den ikke var synlig ved start, lukkes den igen End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.