• 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 op een bepaald tijdstip laten uitvoeren

Status
Niet open voor verdere reacties.

mbn

Gebruiker
Lid geworden
20 mrt 2007
Berichten
62
Ik heb een macro die ik op een in te stellen tijdstip dagelijks wil laten uitvoeren. Weet iemand hoe dat moet?
 
Met de OnTime method kan dat.

Hoe doe je dat dan.Dit is de makro die hij bv elke dag om 17.00 uur moet uitvoeren.

Sub doorvoeren()
'
' doorvoeren Macro
' De macro is opgenomen op 4-3-2006 door Dirkjan.
'
Sheets("registratieblad").Select
Cells.Select
ActiveSheet.Unprotect
Sheets("urenregistratie").Select
Cells.Select
ActiveSheet.Unprotect
Sheets("registratieblad").Select
Range("A1:G1000").Select
Selection.Cut
Sheets("urenregistratie").Select
Range("A1:G1").Select
Selection.Insert Shift:=xlDown
Range("A1:G1").Select
Selection.Copy
Sheets("registratieblad").Select
Range("A1:G1").Select
ActiveSheet.Paste
Sheets("urenregistratie").Select
Range("A1:G1").Select
Selection.Delete Shift:=xlUp
Cells.Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
, Order2:=xlAscending, Key3:=Range("C2"), Order3:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _
xlSortNormal
Sheets("Formule").Select
Range("F1").Select
Selection.Copy
Range("A2").Select
Sheets("urenregistratie").Select
Range("H1").Select
ActiveSheet.Paste
Range("H1").Select
Selection.Copy
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.Paste
Columns("H:H").Select
Selection.NumberFormat = "h:mm;@"
Sheets("registratieblad").Select
Cells.Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("urenregistratie").Select
Cells.Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Invoerblad2").Select
Range("H10").Select
End Sub
 
Kijk in de helpfiles, er staat een voorbeeld bij. Zelfs identiek om 5 uur 's namiddags is het voorbeeld daar... ;)
 
Kijk in de helpfiles, er staat een voorbeeld bij. Zelfs identiek om 5 uur 's namiddags is het voorbeeld daar... ;)

Ik kom er niet uit. De macro is door iemand gemaakt die niet meer bij me werkt. Het maken van een macro gaat redelijk, maar snap niet hoe die ontime functie werkt en waar ik deze dan moet plaatsen.

Kun je me verder helpen?

Gr Andre
 
Geef dan je bestandje hier eens en ook wat er juist om 5 uur uitgevoerd moet worden.
 
Geef dan je bestandje hier eens en ook wat er juist om 5 uur uitgevoerd moet worden.


Hierbij het bestandje. De macro "doorvoeren" moet elke dag om 17.00 uur automatische worden uitgevoerd. Graag ook even aangeven hoe je het hebt gedaan, leer ik er graag van.

Alvast bedankt.

Andre
 
Hierbij het bestandje. De macro "doorvoeren" moet elke dag om 17.00 uur automatische worden uitgevoerd. Graag ook even aangeven hoe je het hebt gedaan, leer ik er graag van.

Alvast bedankt.

Andre


Bestandje zit er niet bij. Krijg hem niet kleiner dan 250kb. Wat nu?
 
Is het bestandje gezipt? Is alle overtollige opmaak, tekst, grafieken, e.d. eruit?

Ja het bestand is 5 meg groot en kan als ik veel dingen weggooi niet kleiner komen dan 170kb en dat is hier blijkbaar te groot
 
En kan je ook niet van een nieuw bestand vertrekken, en daarin enkel zetten wat je nodig hebt zodat wij kunnen zien wat er moet gebeuren? Ik vrees dat het anders niet echt mogelijk zal zijn om een gedetailleerde oplossing te bieden.
 
En kan je ook niet van een nieuw bestand vertrekken, en daarin enkel zetten wat je nodig hebt zodat wij kunnen zien wat er moet gebeuren? Ik vrees dat het anders niet echt mogelijk zal zijn om een gedetailleerde oplossing te bieden.


Ik heb een leeg bestandje gemaakt met een paar van de tapbladen. De macro struikelt op het eind omdat er nog een tabblad ontbreekt.
Wij registreren via scannen de gehele dag gegevens die worden geschreven in tabblad registratie
De macro die elke dag om 17.00 uur automatisch moet worden uitgevoerd heet doorvoeren.
Macro doet het volgende.
De macro slaat eerst op dan print hij de gegevens die zouden staan in registratieblad uit en vervolgens knipt en plakt hij deze naar tablad urenregistratie en sorteert. Als laatste zou hij in tabblad invoerblad2 moeten komen maar deze heb ik hier niet aangemaakt.

Gr Andre
 

Bijlagen

  • test.rar
    11 KB · Weergaven: 86
Zet dit bij ThisWorkbook in de VBA code:

Code:
Private Sub Workbook_Open()
     Application.OnTime TimeValue("17:00:00"), "doorvoeren"
End Sub

Rest kan blijven staan, maar euh, kuis de code op want dit is code van de macro recorder en kan veeel efficiënter.

Wigi
 
Het is gelukt. Dank je voor je hulp. Het was zeer leerzaam.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan