Avatar billede snowball Novice
31. maj 2007 - 11:40 Der er 4 kommentarer og
1 løsning

VBA: Lav pause i macro uden at bruge alt CPU kraft

Hej.

Jeg har brug for at lave en pause i en VBA macro uden at Excel bruger alt CPU kraft og nærmest dræber alt andet.

Noget i stil med nedenstående:

While iStatus = 1
  'Vent her indtil iStatus ændres
  'Lad alt andet køre normalt uden at Excel bruger al CPU kraft!
Wend

Mens den står der og venter, så skal brugeren have mulighed for at klikke på 1 af i alt 4 knapper på en form der vises hele tiden (macroen startes også fra den form). Et klik på én af de knapper vil ændre iStatus variablen, for macroen vil derefter fortsætte.

Application.Wait kan ikke beyttes da den netop blokerer for alt andet. I Delphi har man en Application.ProcessMessages der kan gøre netop det jeg ønsker ;)

På forhånd tak.
Avatar billede kabbak Professor
31. maj 2007 - 11:57 #1
hvis din makro køre i en slags løkke, så sæt DoEvents ind i løkken
For i = 1 to 100000
DoEvents
kode

next
Avatar billede snowball Novice
31. maj 2007 - 12:21 #2
Præcis det jeg ledte efter. Godt nok bruger Excel stadig en del CPU, men programmet låses ikke, så funktionen virker efter hensigten.

Lav venligst et svar så du kan få point.

Tak for hjælpen :)
Avatar billede kabbak Professor
31. maj 2007 - 12:40 #3
et svar ;-))
Avatar billede groyk Novice
01. juni 2007 - 19:19 #4
Alternativt kan du bruge
Application.Wait("Tid")

Mvh
Simon
Avatar billede snowball Novice
01. juni 2007 - 21:21 #5
groyk: Nej, det kan ikke benyttes, for som jeg også skriver i mit spørgsmål, så blokerer den for alt andet indtil tiden er gået ;)

Som der står i hjælpen:

"The Wait method suspends all Microsoft Excel activity and may prevent you from performing other operations on your computer while Wait is in effect."
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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