• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

macro uitvoeren op tijd

Status
Niet open voor verdere reacties.

wim1985

Gebruiker
Lid geworden
1 aug 2008
Berichten
94
Oud probleem dat nimmer goedwerkend is opgelost. Elke dag moeten er macro's draaien op vaste tijden. Alleen werkt dit dan 1 dag en de dag daarop niet meer. Er zijn hier in eerdere vragen vele oplossingen geboden maar niets dat echt goed werkt.
Nu zat ik te denken als je nu bv in cel a1 de tijd nu zet en in a2 de tijd waarop de macro moet werken en in cel a3 een 1 verschijnt als beide tijden gelijk zijn dan moet je toch op de celwaarde a3 = 1 een macro kunnen starten? Op deze manier weet je zeker dat hij het doet. Maar hoe doe je dat dan, of kan dit otch niet.
code die ik nu gebruik en niet goed werkt is:
Code:
Private Sub Workbook_Open()
Application.OnTime TimeValue("16:30:00"), "doorvoeren"
Application.OnTime TimeValue("16:31:00"), "backupuren"
Application.OnTime TimeValue("9:50:00"), "opslaanuren"
Application.OnTime TimeValue("12:15:00"), "opslaanuren"
Application.OnTime TimeValue("14:50:00"), "opslaanuren"
End Sub

gr wim
 
Ha Wim,

Het probleem zit 'm in het feit dat de macro telkens opnieuw opgestart moet worden. Bij het openen van het worksheet start je de macro. Met een 'Change' event op een bepalade cel zou het vlgs mij mogelijk moeten zijn de macro opnieuw te starten.

Code:
Private Sub Workbook_Open()
Application.OnTime TimeValue("16:30:00"), "doorvoeren"
Application.OnTime TimeValue("16:31:00"), "backupuren"
Application.OnTime TimeValue("9:50:00"), "opslaanuren"
Application.OnTime TimeValue("12:15:00"), "opslaanuren"
Application.OnTime TimeValue("14:50:00"), "opslaanuren"
Range("Bepaalde cel").value = Range("Bepaalde cel").value + 1
End Sub
Private Sub Workbook_Change(Target as ....)
If not Intersect(Target, Range("Bepaalde cel")) is Nothing Then
Application.OnTime TimeValue("16:30:00"), "doorvoeren"
Application.OnTime TimeValue("16:31:00"), "backupuren"
Application.OnTime TimeValue("9:50:00"), "opslaanuren"
Application.OnTime TimeValue("12:15:00"), "opslaanuren"
Application.OnTime TimeValue("14:50:00"), "opslaanuren"
Range("Bepaalde cel").value = Range("Bepaalde cel").value + 1
End If
End Sub

Succes, 'k zie je reactie wel verschijnen !

Erik
 
Hoi Erik,

Mijn bestand heet urenregistratie en zou bv op sheet formule op A1 bv het getal 1 zetten. is dat wat je bedoeld of moet het anders? En dan moet er natuurlijk ook nog in de code verwezen worden naar dat sheet?

Gr Wim
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan