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

Datum updaten

Status
Niet open voor verdere reacties.

noudvdven

Gebruiker
Lid geworden
7 jan 2020
Berichten
15
Ik heb een probleem en ik kom er maar niet uit.

Ik heb een datasheet gemaakt met daarin persoonsgegevens. zoals naam, geboortedatum, geslacht, datum in dienst etc.

Nu heb ik een code geschreven zodat Excel bij het invoeren van een nieuw persoon automatisch de leeftijd berekend omdat ik van tevoren de datum van vandaag invoer.

Maar wanneer deze datum veranderd veranderd de leeftijd niet meteen mee. Heeft iemand enig idee hoe ik dit voor elkaar krijg?

Hier de code om de leeftijd te berekenen die ik nu gebruik.

PHP:
sh.Range("D" & n + 1).Value = DateDiff("yyyy", Cells(n + 1, 3), Cells(1, 1))
sh.Range("F" & n + 1).Value = DateDiff("yyyy", Cells(n + 1, 5), Cells(1, 1))

Nu zou ik willen dat nadat ik de datum heb ingevuld hij automatisch opnieuw de leeftijd en aantal jaren in dienst opnieuw berekend.
Ik gebruik een datumpicker die is gemaakt in een formulier.

Ik weet dat ik een code moet plaatsen bij het kiezen van een datum, echter krijg ik het niet voor elkaar...
 

Bijlagen

  • Helpmij.xlsm
    98,6 KB · Weergaven: 19
Waarom zet je de datum niet in een cel (=Vandaag()) en gebruik je die cel om de leeftijd dynamisch mee te berekenen? Een vaste datum heeft m.i. geen enkele zin in dit geval.
 
Dat zou inderdaad kunnen, maar dan veranderd hij alsnog de leeftijd en jaren in dienst in de kolommen "D" en "F" niet. Ik zoek een code die, wanneer de kalender wordt afgesloten de kolommen "D" en "F" opnieuw berekend.

Laten we zeggen dat ik onder de Exit knop in de calender: Een extra code wil plaatsen die op zijn beurt in alle ingevulde cellen in de kolommen "D" en "F" opnieuw de berekening uitvoerd.
 
Laatst bewerkt:
Probeer het eens zo
Voor AddData
Code:
sh.Range("D" & n + 1).Value = "=IF(RC[-1]="""","""",DATEDIF(RC[-1],NOW(),""Y""))"
sh.Range("F" & n + 1).Value = "=IF(RC[-1]="""","""",DATEDIF(RC[-1],NOW(),""Y""))"
Voor UpdateData
Code:
sh.Range("D" & n).Value = "=IF(RC[-1]="""","""",DATEDIF(RC[-1],NOW(),""Y""))"
sh.Range("F" & n).Value = "=IF(RC[-1]="""","""",DATEDIF(RC[-1],NOW(),""Y""))"
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan