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

Overlappende tijden goedzetten in macro

Status
Niet open voor verdere reacties.

batman2807

Gebruiker
Lid geworden
18 mrt 2014
Berichten
8
In bijgaande macro loop ik tegen het probleem aan dat er uit het originele bestand een start en eindtijd wordt opgegeven tijdens een overlappende dag.

Bijvoorbeeld begintijd Vr 22.00 eindtijd 06.00 uur.

In de huidige macro wordt dit verwerkt als een vrijdag 8 uur gewerkt waarbij de bijbehorende toeslagen als vrijdag worden berekend.
Het moet zijn van Vr begintijd 22.00 eindtijd 00.00 2 uur gewerkt en Za van 00.00 tot 06.00 gewerkt om de juiste toeslag voor de zaterdag te krijgen.

Hoe kan ik dit probleem tackelen?

Ik moet voor zorginstellingen de juiste ORT percentages laten toepassen.

In de bijlage een bronbestand en de opgestelde macro.
 

Bijlagen

Laatst bewerkt:
Wat mogelijk een oplossing is, is om het bronbestand zodanig aan te passen zodat daar een splitsing komt in de "diensten".

Er staat nu:

01-02-2014 22:00 - 07.00

Dit zou moeten worden:

01-02-2014 22:00 - 00.00
02-02-2014 00:00 - 07:00

Als iemand een oplossing heeft zou ik daar enorm mee geholpen zijn :thumb:
 
De uren staan toch in kolom G en H van het bronbestand
In combinatie met de datum en de begintijd heb je toch alle gegevens?
Welke gegevens krijg je aangeleverd? door welk programma zijn die gemaakt?
Hoe moeten de gegevens na bewerking eruit komen te zien? (de macro werkt niet)
Is een draaitabel geen oplossing?
Moet het zoiets worden?, zie http://www.ort.akker-huis.nl/ort.php
 
Laatst bewerkt:
De uren staan niet goed, dit is door een medewerker ingevuld.

Het bestand moet kijken naar start en eindtijd, het bronbestand is uit zelf ontwikkelde software geknipt en geplakt in excel.

De macro werkt wel, ik heb het zojuist zelf gedownload en uitgevoerd. Eerst macro geopend, toen bronbestand en daar in bronbestand de macro afgespeeld.
Het resultaat volgt dan.

De gegevens worden aangeleverd aan een verloner, dus alleen de ORT uren, gewerkte uren en vergoedingen worden doorgegeven.

Het enige wat ik graag wil doen is de macro aanpassen, of het bronbestand bewerken dat 22:00 - 06:00 in twee regels worden gesplitst, namelijk 22:00 - 00:00 en 00:00 - 06:00
 
Kan de schrijver van de macro deze niet aanpassen? Die weet hoe de code precies werkt.
Ik ben bang als we het op de ene plaats aanpassen er op een andere plaats een groter probleem ontstaat.
 
Laatst bewerkt:
Is er niemand die mij kan uitleggen hoe ik het bronbestand kan aanpassen, en niet de macro?

Er staat nu in 1 regel 04-02 22:00 - 06:00 gewerkt 8 uur

Moet worden 04-02 22:00 - 00.00 gewerkt 2 uur daaronder nieuwe regel en 05-02 00.00 - 06:00 gewerkt 6 uur

Daarna werkt de macro prima.
 
Je wil dus een macro die het bronbestand regel voor regel bekijkt.
En wanneer de eindtijd na middernacht ligt er een extra regel wordt gemaakt, met de uren na middernacht.
En de bekeken regel met de uren tot middernacht.
Klopt dit?
 
Laat deze macro eens lopen in uw bronbestand en kijk of dit is wat je bedoelde:

Code:
Sub cobbe()
For Each cl In Range("B5:B" & Range("B" & Rows.Count).End(xlUp).Row)
 Start = Left(cl, 5)
  eind = Right(cl, 5)
   If eind < Start Then
    Rows(cl.Row + 1).Insert shift:=xlDown
      cl.Value = Start & " - 00:00"
       cl.Offset(1, -1) = cl.Offset(, -1) + 1
        cl.Offset(1, 0) = "00:00 - " & eind
   End If
Next
End Sub
 
Hi Cobbe,

Dat is precies wat ik bedoelde.

Het enige wat ik nog wil bouwen is dat in kolom F dan ook de uren worden gesplitst bijvoorbeeld in rij 22 welke nu is opgesplitst in 23:00 - 00:00 en in 00:00 - 03:00
Bij 23:00 - 00:00 staat nu in kolom F 4 uur.
Dit zou dan moeten worden 23:00 - 00:00 1 (uur ) en 00:00 - 03:00 3 (uur).

Ik dacht dit zelf op te lossen door in excel Kolom B te splitsen in twee kolommen in P en Q (1e Kolom Q Links 1e 5 pos en 2e kolom R Rechts laatste 5 pos), converteren naar getal, Als kolom R = 00:00 vervangen door 24:00, Kolom S = R-Q en vervolgens in F vervangen. Is er in Visual Basic een simpelere oplossing?

Alvast Hartstikke bedankt Cobbe!!
 
Maar je geeft een bronbestand mee zonder formules?
Dus zou de macro het hele werkblad moeten herberekenen.
 
Je hebt helemaal gelijk Cobbe, maar de macro kijkt eerst naar de datum en kijkt vervolgens naar de uren in kolom F en gaat daarmee rekenen.

Als ik het bronbestand eerst kan bewerken met jou macro en vervolgens de originele er over heen kan draaien, dan hoef ik in de bestaande macro (is door iemand anders gebouwd die ik niet meer kan raadplegen).

Als ik de originele regel:

28-2-2014 23:00 - 07:45 0 Zorgverlener IM niveau 3 € ,00 8.75 0 8.75 0 € 2,70 € 2,70 reiskostenvergoeding

Kan bewerken in:

28-2-2014 23:00 - 00:00 0 Zorgverlener IM niveau 3 € ,00 1 0 1 0 € 2,70 € 2,70 reiskostenvergoeding
01-3-2014 00:00 - 07:45 0 Zorgverlener IM niveau 3 € ,00 7.75 0 7.75 0 € 0,00

Dan hoef ik verder niets meer te wijzigen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan