Avatar billede jette1 Nybegynder
05. februar 2002 - 14:31 Der er 14 kommentarer og
1 løsning

Tjek af korrekt indtastet dato i textbox

Hvordan tjekker jeg at en dato er indtastet i formatet dd-mm-åå ?

Kan man vha. en metode eller funktion få returneret datoformatet? Eller kan man lave en input maske til tekstboksen således brugeren kun kan indtaste datoen på én måde?
Avatar billede jimse Nybegynder
05. februar 2002 - 14:39 #1
Du kan markere cellerne og vælge datoformat
Avatar billede b_hansen Novice
05. februar 2002 - 14:40 #2
Ja, du kan lave et brugerdefineret format. Her kan du få en fejlmelding frem, hvis det indtastede afviger fra det format, der ønskes
Avatar billede jette1 Nybegynder
05. februar 2002 - 14:48 #3
jimse --> Jeg tror du har misforstået... jeg har en formular med en tekstboks hvor brugeren angiver en dato. Datoen _skal_ skrives til cellen i formatet dd-mm-åå, ellers tror Excel at det er tekst.

Jeg har angivet at cellerne er dato-celler, men det nytter jo ikke så meget hvis brugeren angiver noget fejlagtigt.
Avatar billede jette1 Nybegynder
05. februar 2002 - 14:49 #4
b_hansen --> Hvordan gør man det?
Avatar billede jette1 Nybegynder
05. februar 2002 - 14:56 #5
Jeg har fundet en anden løsning.... jeg benytter CDate(txtDato.Text) når jeg skriver til cellen.
Avatar billede b_hansen Novice
05. februar 2002 - 14:56 #6
1. Formater Celler
2. Vælg tal
3. Vælg Brugerdefineret

Herfra skulle hjælpen kunne bruges *S*
Avatar billede rvm Nybegynder
05. februar 2002 - 15:42 #7
Brug denne:

Den kunne ligge på OK-knappen
Sub OK()
Formular.Hide

Do
  Svar = textbox.text
  Msgbox "Indtast korrekt dato"
  Formular.Show
Until IsDate(svar) = true

Formular .Hide

End sub
Avatar billede rvm Nybegynder
05. februar 2002 - 17:54 #8
Der sneg sig en lille fejl ind:

Sub OK()
Formular.Hide

Do
  Svar = textbox.text
  Msgbox "Indtast korrekt dato"
  Formular.Show
loop Until IsDate(svar) = true

Formular .Hide

End sub
Avatar billede rvm Nybegynder
05. februar 2002 - 17:56 #9
Hej Jette1

Du skriver du selv har fundet en løsning, men tvinger den brugeren til at indtaste en rigtig dato, så du er sikker på at det er en dato du modtager i cellen?

Det gør ovenstående kode *S*
Avatar billede jette1 Nybegynder
07. februar 2002 - 11:16 #10
b_hansen --> hvorfor mener du jeg skal vælge "Tal" i formatet for cellen? Så kan jeg da ikke sortere på dato !? ... eller er der noget jeg overser?..
Avatar billede jette1 Nybegynder
07. februar 2002 - 11:19 #11
rvm --> Når jeg skriver manuelt i en datocelle i formatet dd-mm-åå, opfattes det automatisk som en dato. Derfor troede jeg til at starte med, at hvis bare brugeren også indtaster i dette format, ville det også virke når tekstboksens indhold blev overført.
Imidlertid er man nødt til at benytte CDate(), når der overføres fra en tekstboks .... jeg har hele tiden brugt IsDate() til at tjekke om det er en dato der er indtastet.....
Avatar billede rvm Nybegynder
07. februar 2002 - 11:20 #12
OK :-)
Avatar billede jette1 Nybegynder
07. februar 2002 - 11:23 #13
Jeg er imidlertid stødt på et andet problem .... hvis brugeren taster datoen uden at adskille dag, måned og år med tegn, som f.eks. 070202, så er IsDate() = true, men cellen kan slet ikke finde ud af det. Her bliver det til 14-03 92 hmmmm....... Men den smider jeg lige i et nyt spørgsmål...
Avatar billede b_hansen Novice
07. februar 2002 - 16:57 #14
Hvis du indtaster i en celle, vil jeg igen foreslå, at du laver et brugerdefineret format.
Avatar billede bak Forsker
07. februar 2002 - 18:30 #15
test lige den her så:

Sub chkdato()
If IsDate(txtDato.Text) Then
    If InStr(1, txtDato.Text, "-") Or InStr(1, txtDato.Text, "/") Then
        txtDato.Text = CDate(txtDato.Text)
    Else  'fanger 100202
        txtDato.Text = CDate(Format(Str(txtDato.Text), "@@@-@@-@@"))
    End If
    [a2].Value = txtDato.Text
End If
End Sub
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester