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

Status
Niet open voor verdere reacties.

nwametze

Gebruiker
Lid geworden
18 dec 2009
Berichten
67
Dag allemaal,

ik heb een excelsheet met daarin nummers in het volgende format: 25.12.30.067
In 1 kolom staan zo een groot aantal rijen met nummers onder elkaar.
In dit nummer zit de geboortedag van een persoon verwerkt. In bovenstaand geval 30-12-1925. Tussen de cijfers staat een punt. De laatste 3 cijfers zijn niet van belang.

Hoe krijg ik dit nu in een fatsoenlijk dd-mm-jjjj formaat? Heb al met een macro zitten prutsen, maar die lijkt alleen het getal 30 te onthouden en maakt er 30-30-30 van.
Iemand een idee?
 
Kun je hier mee uit de voeten:
Code:
=DEEL(A1;7;2)&"-"&DEEL(A1;4;2)&"-"&"19"&LINKS(A1;2)
In A1 staat dan jouw datum.
Ik ga er dan wel vanuit dat ieder deel uit twee karakters bestaat. Dus 03.01.01 voor 1 januari 1930.
Heb je ook geboortedata nà 1999? Dan gaat mijn functie namelijk fout omdat ik overal 19 als eeuw voor zet.

Richard
 
Laatst bewerkt:
Werkt prima, bedankt!
(heb nog geen personen van na 1999)
Mocht je nog tijd en zin hebben, zou je de code dan kunnen toelichten? Leer ik ook nog iets :)
 
Vanuit de waarde van een cel kun je delen oppakken.
LINKS kijkt vanaf het eerste record
RECHTS kijkt vanaf het laatste record
DEEL kan vanaf ieder karakter iets oppakken.
Met de ampersand & kun je tekst aan elkaar plakken.

Code:
=[COLOR="Red"]DEEL(A1;7;2)[/COLOR]&"-"&DEEL(A1;4;2)&"-"&"19"&LINKS(A1;2)
Pak uit cel A1 vanaf het 7e karakter en teee op. Dus karakter 7 en 8, de dag.
Code:
=DEEL(A1;7;2)[COLOR="red"]&"-"&[/COLOR]DEEL(A1;4;2)&"-"&"19"&LINKS(A1;2)
Plak er een streepje aan vast
Code:
=DEEL(A1;7;2)&"-"&[COLOR="red"]DEEL(A1;4;2)&"-"[/COLOR]&"19"&LINKS(A1;2)
Pak uit cel A1 het vierde en vijfde karakter en plak daar een streepje aan vast.
Code:
=DEEL(A1;7;2)&"-"&DEEL(A1;4;2)&"-"&[COLOR="red"]"19"&LINKS(A1;2)[/COLOR]
Zet hard de eeuw 19(00) neer en pak dan uit cel A1 de eerste twee karakters om het jaartal te completeren.

Verdere uitleg: www.excellerend.nl > Les Invoeren functies > Tekstfuncties. Er zitten ook oefenopgaven bij.

Groeten,
Richard
 
Hoi RDG,

Je hebt gelijk.
Het grappige is dat je met mijn oplossing wel kunt rekenen (tel er maar een 7 bij op), maar je kunt het niet een datumopmaak meegeven.

Richard
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan