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

Tijdsregistratie VBA

Status
Niet open voor verdere reacties.

MBG95

Gebruiker
Lid geworden
19 mei 2020
Berichten
21
Goedemorgen,

In bijgevoegde file wordt in de toekomst een urenregistratie bijgehouden (voordat we dit in het ERP-systeem integreren). In kolom A wordt de naam gescand en in kolom B de bewerkingsplaats.
Hierbij heb ik d.m.v. VBA het voor elkaar gekregen (deze heb ik op internet gevonden en zelf aangepast), dat wanneer de naam gescand wordt in kolom A, de actuele datum + tijd van scannen in kolom C terecht komen.

Nu komt het regelmatig (max 2/3x per dag) voor dat medewerkers van bewerkingsplaats wisselen. De bedoeling is dan dat ze opnieuw hun naam scannen en zichzelf op de nieuwe bewerkingsplaats inscannen.
Hierbij wil ik ervoor zorgen dat in kolom D automatisch de tijd komt van het uitscannen op de bewerkingsplaats waar dat ze gestart zijn én dat de tijd van starten op de nieuwe bewerkingsplaats in kolom C komt.
Dit heb ik handmatig toegevoegd in kolom D. Dit heb ik nodig om de totale werktijd op een bewerkingsplaats te kunnen berekenen in kolom E. Vanuit daar kan ik in het tweede tabblad een overzicht maken.

Uitleg voorbeeldbestand
- namen zijn fictief -
In het voorbeeld bestand zie je dat Jan zichzelf heeft binnengescand om 7:25 op bewerkingsplaats Z0283, vervolgens gaat Jan om 14:00 naar bewerkingsplaats Z0010. Dit betekend dat hij 06:35u op bewerkingsplaats Z0283 heeft gewerkt.
Daarna werkt hij 00:30 minuten op Z0010, waarna hij weer gaat werken op Z0283. Aan het eind van de dag heeft hij dus 7:30 uur op Z0283 gewerkt en 00:30 op Z0010.

Het moeilijke eraan is, dat er 20 medewerkers zijn die binnengescand worden en dus de volgorde fluctueert. En ik niet weet hoe Excel zou moeten weten in welke rij de uitscan datum+tijd geretourneerd moet worden in kolom D. Dit aangezien de uitscantijd achter de eerste inscandatum moet komen te staan, bij de juiste naam.

Alvast bedankt voor de hulp!

Met vriendelijke groet,

MBG95
 

Bijlagen

  • Helpmij _ VBA tijdsregistratie.xlsm
    24,9 KB · Weergaven: 50
Laatst bewerkt:
zo als het nu is, staat het uit loggen al op de goede plaats.
dat is waarschijnlijk met de hand geplaatst.
hoe ziet het er uit als je de plaatsing van het uitloggen niet met de hand uitvoert?
 
zo als het nu is, staat het uit loggen al op de goede plaats.
dat is waarschijnlijk met de hand geplaatst.
hoe ziet het er uit als je de plaatsing van het uitloggen niet met de hand uitvoert?

Klopt, dit heb ik handmatig gedaan. In kolom C gaat het via een VBA. Het uitloggen zoals ik wil in kolom D, dat lukt me niet.
Dus met zodra ik het niet met de hand uitvoer, dan blijft kolom D leeg.
 
wil je dat als Jan inlogt op een andere plek dat er Automatisch een uitlog komt met de zelfde tijd van de nieuwe inlog?
 
Laatst bewerkt:
hier een poging:
 

Bijlagen

  • Helpmij _ VBA tijdsregistratie svp 1.xlsm
    27,1 KB · Weergaven: 45
Goedemorgen,

Aangaande dit topic heb ik nog een uitvoeringsprobleem. Op dit moment is het mogelijk dat de werktijd per dag meer dan 24 uur kan zijn.

Wat ik graag zou zien is dat ik in de tweede sheet 'Gewerkte uren (import)', in een cel de eindtijd van een dag kan vullen. Iedereen moet dan worden uitgecheckt om 16:00, inherent op welke bewerkingsplaats zij hebben gestaan.
Zou iemand dit kunnen realiseren in de file van sylvester-ponte, aangezien de opzet perfect werkt.

Alvast bedankt!
 
nieuwe poging.
 

Bijlagen

  • Helpmij _ VBA tijdsregistratie svp 2.xlsm
    27,5 KB · Weergaven: 37
Hoi sylvester,

Dit lijkt er al op, alleen mag in kolom E nooit een verschil van een dag zitten terwijl dat nu nog wel het geval is.
Kun je in de loop van de VBA meenemen dat kolom D niet gevuld wordt als er meer dan een dag tussen het loggen zit?

Dus met voorbeeld, Klaas logt op 2 juni om 7:30 in op bewerkingsplaats z0283 en gaat op 2 juni om 14:30 naar z0010 tot eindtijd = totale werkdag 8:30.
Vervolgens logt Klaas in op 3 juni om 7:30 in op bewerkingsplaats z0283, nu wil ik niet dat hij het verschil van 2 juni 14:30 en 3 juni 7:30 mee rekent.

Is dit mogelijk?
 
de laatste tijd van Jan staat een dag later.
 

Bijlagen

  • Helpmij _ VBA tijdsregistratie svp 3.xlsm
    27,7 KB · Weergaven: 34
Hoi Sylvester,

Kolom D werkt niet goed meer, ik kan zelf niet zien wat er aan de hand is. Zou je er nog eens naar kunnen kijken?

Zie bijgevoegd bestand.
 

Bijlagen

  • Helpmij _ VBA tijdsregistratie svp 4.xlsm
    33,9 KB · Weergaven: 27
ik heb de eindtijd dag als extra variabele aan de function toe gevoegd.
 

Bijlagen

  • Helpmij _ VBA tijdsregistratie svp 5.xlsm
    35,1 KB · Weergaven: 53
Dit lijkt goed te werken, ik ga dit in de praktijk testen.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan