Date Format

Status
Niet open voor verdere reacties.

excelkees

Gebruiker
Lid geworden
7 sep 2010
Berichten
155
Hoi, kan iemand mij helpen?

in een userform vul ik een datum in (dd-mm-jj) en na nog enkele andere gegevens te hebben ingevuld laat ik eea wegschrijven in een sheet
.Cells(lRow, 2).Value = Me.txtDate.Value

Me.txtDate.Value = Format(txtDate, "dd-mm-yy")

hoe kan het dan dat de maand september (09) wordt veranderd in oktober (10) ondanks dat de cel erboven format cells "dd-mm-jj" heeft?

groetjes Kees
 
Volgens mij telt ie vanaf 0 dus zou je voor september -1 moeten doen
Byee VRC
 
Het antwoord van Visha is een klein beetje onzin, want een datum is een datum, en maanden tellen daarbij niet vanaf 0. Wat eerder het geval zou kunnen zijn, is dat je een probleem ondervindt met de conversie van de datum vanuit Amerikaanse datumnotatie. Je voorbeeldje is daarom een beetje onvolledig. Heb je 10-09-10 als voorbeeld ingevuld? Want dan kan het inderdaad wel kloppen.
Ook je celopmaak heeft hier overigens niets mee te maken; een celopmaak laat slechts zien welke waarde er in staat. Als je dus de verkeerde datum in de cel zet, blijft het altijd de verkeerde datum.
Een tekstvak heeft per definitie altijd een tekst-inhoud. Je kunt er dus wel een datumopmaak inzetten, maar het blijft tekst. Om er zeker van te zijn dat je de datum goed converteert naar een datumwaarde, zou je de datum kunnen converteren met:
Code:
.Cells(lRow, 2).Value = Cdate(Cdbl(Me.txtDate.Value))
 
datum maand wordt dag en dag wordt maand

Hoi Michel (octafish),

keurig regel vervangen in:

.Cells(lRow, 2).Value = CDate(CDbl(Me.txtDate.Value))

maar krijg nu de melding:

runtime-error '13':
Type mismatch

alvast dank je wel voor je hulp, Kees
 
Met een kleine aanpassing werkt 't wel.

Code:
Dim dt As Date
dt = CDate(Me.txtDate)
.Cells(lRow, 2).Value = CDate(CDbl(dt))
 
Michel, werkt uitstekend!!!!!

dat je (jullie) dat allemaal snappen mijn compliment

groetjes Kees
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan