Avatar billede mr.truck Nybegynder
16. oktober 2008 - 13:52 Der 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?
Avatar billede kabbak Professor
16. oktober 2008 - 14:04 #1
Kan du bruge statusbar

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
Avatar billede kabbak Professor
16. oktober 2008 - 14:07 #2
Lige en oplysning hvis statusbaren ikke er synlig, får man den frem via VBA sådan her.

Application.DisplayStatusBar = True
Avatar billede mr.truck Nybegynder
16. oktober 2008 - 14:29 #3
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!
Avatar billede kabbak Professor
16. oktober 2008 - 15:47 #4
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.

jeg laver lige et eksempel
Avatar billede kabbak Professor
16. oktober 2008 - 16:00 #5
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
Avatar billede mr.truck Nybegynder
16. oktober 2008 - 18:20 #6
takker...
Avatar billede kabbak Professor
16. oktober 2008 - 18:56 #7
det er mig, der skal svare ;-))
Avatar billede anne-lise Nybegynder
17. oktober 2008 - 09:38 #8
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.
Avatar billede kabbak Professor
17. oktober 2008 - 11:39 #9
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
Avatar billede anne-lise Nybegynder
17. oktober 2008 - 12:28 #10
til Kabbak.:
1000 Tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester