02. juli 2009 - 22:26Der er
12 kommentarer og 1 løsning
brugerform standser min macro
Hej,
jeg har en makro til at opdatere nogle data i excel. Mens denne macro koerer ville jeg gerne have en brugerform til at sige noget i retning af "vent mens data opdateres"... men ved at saette en brugerform ind foerst i makroen, kommer denne ikke videre.
Hvordan kan jeg vise brugerformen og samtidigt sikre mig at data bliver updateret i baggrunden?
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Jeg ville umiddelbart b ruge UserForm1.Show vbModeless - det er mere læsbart.
Hvis du smider en DoEvents i din for-løkke kan du rent faktisk også lave en progressbar i din userform, fordi DoEvents gør, at programmet ikke fryser, mens din makro kører. neat stuff!
ahh, ok, troede jeg kunne anvende vbModeless som stand-alone... hvordan kunne saadan en doevent se ud?... er absolut ikke noget til noget avanceret niveau endnu... ;-)
Public Sub EnSub() --- INITIALISER OG VIS DIN USERFORM HER VIA vbModeless --- Dim i As Integer For i = 0 To 40000 Debug.Print "Her er noget lige gyldig tekst" DoEvents Next End Sub
når du har DoEvents i din for-løkke så låser programmet ikke. så kunne du evt. tilføje en label i din userform der viser hvor mange procent du er nået via følgende kode:
Public Sub EnSub() --- INITIALISER OG VIS DIN USERFORM HER VIA vbModeless --- Dim i As Integer, intStart As Integer, intEnd as Integer intStart = 1 intEnd = 40000 For i = intStart To intEnd Debug.Print "Her er noget lige gyldig tekst" DoEvents frmUserForm1.lblProcess.Value = i / intEnd * 100 Next End Sub
Så kan folk følge med i hvor lang løkken er kommet.
Nu er det jo desvaerre sjaeldent saadan at lige noejagtigt den loesning man soeger staar beskrevet i laereboegerne. :-(
Det ville sikkert tage dig 30 sec at omrokere/aendre i mit setup. :-)
vh T30
Synes godt om
Ny brugerNybegynder
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.