webForumDet fria alternativet

exekvera på klockslag

Kontorsprogramur Kontorsprogram

2 svar · 402 visningar · startad av andersgalmen

Medlem sedan mars 20092 inlägg
Frågan#1

Behöver köra ett excel-makro på ett visst klockslag. Tanken är att allt skall gå med automatik, därför vill jag att detta skall fungera så länge arbetsboken är öppen. Problemet med min kod är att det låser upp allt annat (vissa saker läses in varje sekund) och det är därför viktigt att jag kan hämta aktuell data från en viss tidpunkt. Vad som händer med funktionen jag gjort är att övrig inläsning inte kommer igång utan processorn belastas max mellan tiden jag öppnade dokumentet och tiden då jag vill läsa in. Förstår att detta inte är optimalt men vet inte hur jag ska göra för att koden bara skall ligga i bakgrunden och "vänta" på rätt tid istället.

'startar så fort boken är öppen
Private Sub Workbook_Open()
'go är klockslaget jag vill exekvera på
Dim go
Range("O1").Select
go = Selection
Dim rull
rull = Time
Do While Not rull > go
rull = Time
Loop
[...det som händer på klockslaget go]
end sub

Medlem sedan mars 2007845 inlägg
#2

Det borde finnas något wait() eller sleep() som du kan använda istället. Att lägga i en loop och kolla klockan tar ju självklart upp alla tillgängliga resurser.

Medlem sedan jan. 2008280 inlägg
#3

Du borde kunna laborera med

Application.Wait Now + TimeValue("00:00:05")

http://www.automateexcel.com/2004/08/15/excel_mod_hide_excel_the_entire_applicat/

132 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
129 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)