Avatar billede hadaps Nybegynder
16. februar 2003 - 12:23 Der er 13 kommentarer og
1 løsning

pause makro

Hvordan kan man  sætte en makro til pause inde midt i det hele?
idet scrip jeg har, skal arkene først opdateres fra en database, og bagefter skal den gemmes, men sådan som jeg har det nu, gemmer den før den har opdateret arkene, da den ikke kan nå opdateringen før makroen begynder at gemme...
Avatar billede sjap Praktikant
16. februar 2003 - 12:51 #1
Bare er gæt: Hvad med Funktioner/Indstillinger fanebladet Beregning. Sørg for der er sat et hak i "Gem værdier fra eksterne kæder". Hvis der også er markeret "Manuel" skal der også være hak i "Genberegn, før der gemmes".
Avatar billede hadaps Nybegynder
16. februar 2003 - 12:54 #2
Sådan har det i hele tiden stået!!!
Avatar billede sjap Praktikant
16. februar 2003 - 13:06 #3
I menuen Rediger/kæder er også en mulighed for at angive automatisk/manuel opdatering af kæder.
Avatar billede sjap Praktikant
16. februar 2003 - 13:09 #4
Slå op i hjælpen under:

Styre, hvordan sammenkædede oplysninger opdateres i Microsoft Excel
Avatar billede sjap Praktikant
16. februar 2003 - 14:47 #5
Du kan måske bruge hændelse BeforeClose

Private Sub Workbook_BeforeClose(Cancel As Boolean)

  Kode, der opdatere links

End Sub
Avatar billede hadaps Nybegynder
16. februar 2003 - 15:55 #6
jeg mangler bare den stump kode, som kan sætte en makro til at holde pause i 10 sec før den kører videre, da det er excel(eller serveren) som er for langsom til at opdatere alle celler INDEN makroen begynder
Avatar billede sjap Praktikant
16. februar 2003 - 16:05 #7
Måske kan nedenstående bruges:

Dim PauseTime, Start, Finish, TotalTime
If (MsgBox("Klik på Ja for at stoppe i 5 sekunder ", 4)) = vbYes Then
    PauseTime = 5    ' Angiv varigheden.
    Start = Timer    ' Angiv startklokkeslættet.
    Do While Timer < Start + PauseTime
        DoEvents    ' Overgiv til andre processer.
    Loop
    Finish = Timer    ' Angiv slutklokkeslættet.
    TotalTime = Finish - Start    ' Beregn den totale tid.
    MsgBox " Afbrydelsen varede " & TotalTime & " sekunder"
Else

End
End If
Avatar billede rvm Nybegynder
16. februar 2003 - 21:27 #8
Du kan ikke pause koden, men du kan lade den lave noget i 10 sekunder før den går videre - f.eks.

For n = 0 To 65000
  x = x + 1
next

Prøv dig lidt frem med størrelsen af tallet (de 65000) indtil der er gået den tid du ønsker. Det gode ved denne kode er at der ikke kører nogle andre som kan forstyre din pause.
Avatar billede bak Forsker
16. februar 2003 - 22:04 #9
Du kunne også bruge Application.ontime til at vente fx. 10 sek. med at gemme.
Du  deler din makro i to ved det punkt hvor der skal gemmes (Lige før) og laver så denne linie:
Application.OnTime Now + TimeValue("00:00:10"), "Kør_Resten"
Avatar billede rvm Nybegynder
16. februar 2003 - 22:15 #10
-> bak: Den ville jeg også have skrevet, men jeg syntes 10 sekunder er lang tid - en tid hvor brugeren f.eks. kunne taste noget eller starte en ny makro, - derfor valgte jeg den anden metode *S*
Avatar billede bak Forsker
17. februar 2003 - 09:21 #11
Du har ret, rvm. Din ide er bedst :-)
Avatar billede hadaps Nybegynder
17. februar 2003 - 15:19 #12
Lige meget hvad i mener der er bedst er det:

Application.OnTime Now + TimeValue("00:00:10"), "Kør_Resten"

jeg bruger!!!

De andre kunne jeg ikke få til at virke :/

Så hvis bak lige vil smide et svar så du kan point ;)
Avatar billede bak Forsker
17. februar 2003 - 15:32 #13
Ok hadaps, det er jo heller i sådan at du ikke må bruge den. :-)
Avatar billede hadaps Nybegynder
17. februar 2003 - 15:35 #14
Det med i skriver, at det er lang tid, så brugere kan nå at lave en masse.....
Det er meget muligt, men det er en side som bare kører en gang hvert 3. time på en server, hvor det alligevel kun er mig som har adgang til...
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