Anvend en timer i VBA

Med denne kode kan du i Excel sætte en timer for hvor ofte en bestemt kode skal aktiveres.
Det kan være anvendeligt at gentage en kode med et bestemt tidsinterval. F.eks. lavede jeg på et tidspunkt en knap som kunne tælle antallet af undermapper i en mappe, og vise dette i et Excelark. Udover at folk kunne trykke på knappen, blev der også startet en timer som gentog koden hver 10. minut. Her brugte jeg koden:

Application.OnTime Now + TimeValue("00:10:00"), "Countfolders"

Hvor koden der står i proceduren “Countfolders” er koden der aktiveres hver 10. minut, og som tæller antallet af undermapper. Koden her siger simpelthen at der 10 minutter fra nu skal køres koden Countfolders. Du kan også f.eks. sige at koden skal gentages hver dag ved middag, ved at angive den tid.
Det kan også være anvendeligt at stoppe timeren igen, så med denne kode kan jeg vælge, at timeren skal aktiveres om 10 minutter, men stoppes om 20 minutter.

Application.OnTime Now + TimeValue("00:10:00"), "Countfolders", Now +  TimeValue("00:20:00")

Hvis du aktiverer en ny timer, vil den gamle køre videre indtil du har sat den til at udløbe. Hvis du ikke har angivet en udløbstid, udløber den automatisk når Excelfilen lukker. Men du kan også vælge at alle tidligere timere skal fjernes, når du sætter en ny. Her bruger du koden:

Application.OnTime Now + TimeValue("00:10:00"), "Countfolders", Now +  TimeValue("00:60:00"), False

Det er den sidste værdi “False” der betyder at den nye timer ikke blot skal lægges til de gamle. Standard er True og det betyder altså bare at der tilføjes en ny timer.

0 0 votes
Article Rating

Andreas Andersen

Forfatter og grundlægger af IT-blogger.dk, der har blogget om IT-emner siden 2012. Findes på Mastodon på @aphandersen@ansico.dk

You may also like...

Abonner
Giv besked ved
guest

0 Comments
mest stemt på
nyeste ældste
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x