• 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 bepaalde Dag en Tijd

Status
Niet open voor verdere reacties.

NogGeenGuru

Gebruiker
Lid geworden
5 aug 2015
Berichten
130
Goedemiddag forumleden,

Ik zou graag een macro elke vrijdagavond om 18:00 uit willen laten voeren.

nou heb ik de OnTime functie gevonden die mij hiermee zou moeten helpen maar tot nu toe zie ik niks gebeuren....
ik heb even een testje gedaan maar helaas zonder succes.

tot nu toe heb ik:
Code:
Private Sub Workbook_Open()
       Application.OnTime TimeValue("15:51:30"), ThisWorkbook.Test, , True
End Sub

Private Sub Test()
msg = MsgBox("Test", vbOKCancel)
End Sub

Maar Test() wordt helaas niet uitgevoerd.

kan iemand mij vertellen wat ik fout doe?
en hoe ik kan toevoegen dat hij alleen vrijdag om 18:00 uitgevoerd wordt en niet op de andere dagen?

alvast bedankt!

mvg,
Marijn
 
Code:
Private Sub Workbook_Open()
If Weekday(Now, vbFriday) Then
Application.OnTime TimeValue("18:00:00"), "dotchie"
End If
End Sub

Sub dotchie()
MsgBox "test"
End Sub
 
Beste gast0660,

Bedankt voor je snelle reactie.
Ik heb de dag even veranderd in dinsdag en de tijd in 16:26:00 maar er popt nog steeds geen msgbox op.
Ik heb de macro geplaatst op Thisworkbook. (dus niet op een tabblad of in een module) kan het daar misschien aan liggen?
 
Beste,
Werkt perfect bij mij
Dinsdag in het Engels?
Uw macro in een module?
Code voor de timer in Workbook_Open
Je moet na het maken van de macro's, het bestandje sluiten en terug openen, dan pas start de timer.
 
Ik weet niet of het over een week werkt natuurlijk. :d

Je hoeft alleen de 2 in de code veranderen door een 5 (twee is Dinsdag, 5 is vrijdag).
Code:
Private Sub Workbook_Open()
 ThisWorkbook.testen
End Sub


Sub testen()
If Weekday(Date, vbMonday) = 2 Then
     Application.OnTime TimeValue("17:05:00"), "thisworkbook.message"
End If
 Application.OnTime TimeValue("17:05:00"), "thisworkbook.testen"
End Sub

Sub message()
 MsgBox "moi"
 Application.OnTime TimeValue("17:05:00"), "thisworkbook.testen"
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
 Application.OnTime TimeValue("17:05:00"), "Thisworkbook.testen", , False
End Sub
 
Laatst bewerkt:
Als je beide routines van gast0660 in de ThisWorkbook sectie hebt staan, maak er dan dit van:
Code:
Private Sub Workbook_Open()
    If Weekday(Now, vbTuesday) Then
        Application.OnTime TimeValue("18:13:00"), "Thisworkbook.dotchie"
    End If
End Sub

Sub dotchie()
    MsgBox "test"
End Sub
 
Dit stukje in de code....
Code:
If Weekday(Now, vbTuesday) Then
...zal altijd True opleveren; welke dag ook als tweede argument.
Er is nl. geen vergelijking.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan