• 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 (jjjjmmdd) converteren naar datum(dd-mm-jjjj)

Status
Niet open voor verdere reacties.

PatrickBunt

Gebruiker
Lid geworden
3 okt 2011
Berichten
23
Goedemorgen,

Ik draai vele queries op mijn werk en de datums die te zien zijn hebben altijd formaat jjjjmmdd (20161117). Nu weet ik dat je met de formule =date(left(CEL;4);MID(CEL;5;2);RIGHT(CEL;4)) de juiste datum notatie krijgt. Nu wilde ik graag een functie creëren die iedereen kan gebruiken. Ik ben inmiddels tot het volgende gekomen: Het werkt prima maar ik moet nu (doordat ik DateSerial gebruik) de celeigenschap nog aanpassen. Heeft iemand een oplossing voor de laatste regel = dateSerial?
Alvast bedankt voor het proberen!

Public Function DATECONVERT(DATUM As Long) As Date
Dim JAAR As Long
Dim MAAND As Double
Dim DAG As Double
JAAR = Left(DATUM, 4)
MAAND = Mid(DATUM, 5, 2)
DAG = Right(DATUM, 2)
DATECONVERT = DateSerial(JAAR, MAAND, DAG)
End Function

 
Een datum is altijd een getal die je er door middel van een displayformaat kunt laten uitzien als een datum.
Met een functie kun je het displayformaat niet aanpassen; je moet zelf de cellen formatteren als datum (waarbij je nog kunt kiezen uit een groot scala datumformaten).
Uiteraard kun je vooraf de cellen formatteren waarin je de DATECONVERT functie wilt gaan gebruiken.
Ter vergelijking: de functie DATUMWAARDE levert ook een getal op die je zelf nog als datum moet formatteren.
 
Dag Marcel,

Dat is jammer. Ik hoopte dat er mogelijkheden waren met format("dd/mm/yyyy") of dim as date. In ieder geval bedankt voor je antwoord.
 
Als formule?
Code:
=TEXT(TEXT(A1;"0000\/00\/00");"dd-mm-jjjj")
...met in A1 dus de 20161117...

Overigens... Het is toch geen probleem dat gebruikers de celopmaak op datum moeten zetten?
 
Bedankt voor je bericht. Ik gebruikte tot op heden de formule =date(left(CEL;4);MID(CEL;5;2);RIGHT(CEL;4)) wat ook prima werkt maar ik wilde het wat makkelijker maken. Nee, dat is zeker geen probleem, maar ik dacht als er een mogelijkheid is om dat automatisch te laten doen dan is dat mooi meegenomen!:D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan