• 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.

foutmelding 1004 bij afsluiten

Status
Niet open voor verdere reacties.

polleunited

Gebruiker
Lid geworden
20 mrt 2010
Berichten
58
In bijgevoegd bestand wordt de tijd prima en op tijd ververst en bijgehouden. Probleem is nu wel dat als er meerdere excel bestanden openstaan ik een foutmelding krijg: fout 1004 tijdens uitvoering methode ontime van object application is mislukt. Doel is dat de tijd in dit bestand steeds wordt ververst en wordt bijgehouden, maar hoe krijg ik de foutmelding 1004 weg? Kan en wil iemand de code aanpassen of is er een andere actie nodig? alvast bedankt.
 

Bijlagen

  • volgsysteem 2012werkbestand(4).rar
    94,4 KB · Weergaven: 29
De fout zal komen omdat er op dat moment een ander werkboek actief is dan de UpdateClock routine verwacht. Wijzig hem dus eens in dit:
Code:
Public Sub UpdateClock()
    Dim WBname As String
    Dim NextTick As Date
    
    WBname = "volgsysteem 2012werkbestand(4).xlsm"
    NextTick = Now + TimeValue("00:00:01")
    Workbooks(WBname).Sheets("barcodes").Range("S2").Value = NextTick
    Application.OnTime NextTick, "UpdateClock"
End Sub
 
Edmoor: het lijkt te werken !!!! Morgen gaan we dit met meerdere gebruikers testen. Ik laat weten hoe het is afgelopen. Eerst bedankt voor de snelle tip en hulp. Ik neem aan dat het vergrendelen van cellen en beveiligen hier niet van invloed op is? tnx.
 
Deze wijziging is daarop inderdaad niet van invloed. Het zorgt er alleen voor dat de UpdateClock routine weet op welk werkboek hij moet werken.
 
Het vreemde is dat als het bestand afsluit en later weer opstart, hij niet de actuele tijd geeft, maar de tijd van afsluiten. Ik zal morgen nog even testen maar staat er nog een fout in de code? En als ik de bestandsnaam aanpas, moet ik dan in de code ook iets aanpassen? Bedankt voor de hulp.
 
In die code hoef je alleen maar de naam van het juiste document in te vullen. Het probleem dat je noemt zou kunnen omdat er niet een refresh wordt gedaan van de cel. Zet de cursor maar eens in cel S2 van de sheet Barcode. Dan zal je zien dat de tijd wel loopt in de formulebalk maar niet in de cel zelf.
 
Laatst bewerkt:
De tijd wordt nu niet meer bijgewerkt, als ik de code wil vernieuwen geeft hij de melding: onvoldoende geheugen. Bijzonder bestand of is de vraag bijzonder....
 

Bijlagen

  • digivoorblad.zip
    97 KB · Weergaven: 22
Laatst bewerkt:
Uiteraard. Het werkblad is beveiligd. Dat betekend dat er niet in gewijzigd mag worden. Dus ook niet vanuit VBA.
Het beveiligen van cellen is iets anders dan het hele werkboek met een wachtwoord op slot zetten.

Wat is trouwens de bedoeling van het laten meelopen van de tijd?
 
Laatst bewerkt:
Doel is om inzicht te krijgen in doorlooptijden van wedrkprocessen. Vreemde is dat het bestand de ene keer wel een foutmelding geeft en de andere keer niet als ik meerdere bestanden gelijkertijd open heb. Ik zal de foutmelding wel even posten als hij zich weer voordoet.
 

Bijlagen

  • foutmelding.doc.docx
    97,4 KB · Weergaven: 29
Laatst bewerkt:
De foutmelding begrijp ik wel, maar ik denk dat die timer routine helemaal overbodig is omdat je de tijd tussen het openen en het sluiten zelf eenvoudig kunt berekenen door in de Workbook_Open cel S2 te vullen met de datum/tijd van dat moment en de berekening te doen in de Workbook_Close sectie.
 
Oké, nu ben ik afgehaakt. Ik had oorspronkelijk (NU) als code maar het bleek dat de tijd dan niet altijd werd ververst. Vervolgens heb ik deze code toegevoegd. Is het lastig om mij dit als leek uit te leggen: kortom: waar moet ik welke code invullen. Sorry van het onbegrip, ik heb er veel overl gelezen maar raak nu het spoor bijster..... Dat geheel aan mij ligt.
 
Ok, even voor het juiste begrip. Je wilt de tijd weten dat het document open is geweest toch? Dus het verschil in tijd tussen het openen en het sluiten van het document. Correct?
 
Nee, ik wil weten hoelang iemand met een proces bezig is geweest. startijd is dat men ermee is begonnen, en eindtijd dat men klaar is met het werk.
 
Ok, dat had ik dus niet begrepen. Dan werkt het in je eerste document gewoon goed en moet je alleen de wijziging doorvoeren die ik liet zien. In de foutmelding die je liet zien is die wijziging nog niet aangebracht.
 
Ik heb de code verwijderd en die van jou in thisworkbook erin gezet. Als ik nu met het kruisje afsluit start het bestand steeds weer opnieuw op.
 
Plaats het document hier eens.
 
zie bijlage, we testen met 3 gebruikers gelijkertijd maar we worden er niet vrolijker op terwijl het wel een balangrijk bestand moet worden.
 

Bijlagen

  • digivoorblad.zip
    97 KB · Weergaven: 19
Het werkblad is nog steeds beveiligd en de code staat in de verkeerde sectie. Om het goed te kunnen testen heb ik het wachtwoord nodig of het document zonder dat deze beveiligd is.
 
sorry, dom van me. hier zonder wachtwoord.
 

Bijlagen

  • testblad (2).zip
    98,7 KB · Weergaven: 19
Hier een werkende versie.
Hij pakte geen xl met macro :)
 

Bijlagen

  • digivoorblad.rar
    98,9 KB · Weergaven: 23
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan