Avatar billede don-a Nybegynder
23. januar 2007 - 20:01 Der er 10 kommentarer og
2 løsninger

Validering af textfelt i en userfome

Jeg vil gerne sikker mig af en bruger af userfomen ikke indtaster en forkert format af tiden (tt:mm)

Noget som virker som denne men altså
If txtXXX.Text = "" Then
    MsgBox " Fejl!! Indsæt Antal Poser "
    txtAntalPoser.SetFocus
Exit Sub
End If

pft.
Kaare
Avatar billede don-a Nybegynder
23. januar 2007 - 20:31 #1
Håber der er nogen som i kan hjælpe med....

Da jeg er ny her skal jeg lige ha styr på dette forum...

og ja det er en userform..:-)
Avatar billede supertekst Ekspert
24. januar 2007 - 09:59 #2
Private Sub CommandButton1_Click()
    On Error GoTo fejlmelding
   
    kl = TimeValue(TextBox1.Value)
    Exit Sub
   
fejlmelding:
    MsgBox ("Fejl i tidsformat")
End Sub
Avatar billede mp67533 Nybegynder
25. januar 2007 - 13:55 #3
Du kan også skrive koden i en udgave som ligner din...

        If TimeValue(txttid.Text) = False Then
            MsgBox "Du skal angive et klokkeslet: tt:mm"
            txttid.SetFocus
            Exit Sub
        End If

Jeg prøvede den lige hurtigt og den lader til at virke ganske fint...
Avatar billede don-a Nybegynder
27. januar 2007 - 15:42 #4
Tak for svarene med desværre virker de ikke helt efter hensigten udover at jeg ikke kunne få nogen af svarene til at virke derfor prøver jeg at sammesætte dem lidt

og fik denne til at virke med "bare" et problem.-(

On Error GoTo fejlmelding
If TimeValue(txtsluttid.Text) = False Then

fejlmelding:
    MsgBox ("Fejl i tidsformat")
    txtsluttid.SetFocus
Exit Sub
End If

Problemet er at man kan skrive 2.00 (som er det samme som 02-01-1900  00:00:00) og den godtager det som en dato "tror jeg" og formålet var at de som bruger det skal skrive tt:mm og ikke mere en det. formålet er at man kan skrive hvornår man er færdig med en process som er i timer samme dag. og har set at nogen skriver 02.30 (altså med punktum) hvilke giver problemer i udregning

har set andre løsninger herind som ikke er helt gode fordi den insætter (:) mellem 4 tal

håber i kan hjælpe og undskyld den lange svare til man har kun tid til at arbejde med dette i weekend
Ps er ville til at give mere en de 30 point for en super løsning:-)
Avatar billede supertekst Ekspert
28. januar 2007 - 12:38 #5
Problemet er indtastning af tid som 2.00 - men dette kan også løses, hvis kan man tester de celler, hvori tid skal indtastes - og ændre indtastningen til 2:00.
Hvilke celle(r) er der tale om?
Avatar billede supertekst Ekspert
28. januar 2007 - 12:42 #6
Det var jo i en Userform - så skulle det kunne klares:

p = instr(tekstboks,".")
if p > 0 then
  del1 = left(tekstboks,p-1)
  del2 = mid(tekstboks,p+1)
  tekstboks.value = del1 + ":" + del2
end if
Avatar billede don-a Nybegynder
16. februar 2007 - 19:07 #7
Efter lang tids søgen er løsninge sådan og den virker efter hensigten

tak for hjælpen :-)

On Error GoTo fejlmelding
If InStr(txttid.Text, ":") = False Or TimeValue(txttid.Text) = False Then

fejlmelding:
    MsgBox ("Tiden skal angive som tt:mm")
    txtsluttid.SetFocus
Exit Sub
End If

hvis du kommer med
Avatar billede don-a Nybegynder
16. februar 2007 - 19:08 #8
hvis du svare er der point til dig :-)
Avatar billede don-a Nybegynder
16. februar 2007 - 19:28 #9
Selvfølelig kommer den til at se sådan ud !!!

If InStr(txttid.Text, ":") = False Or TimeValue(txttid.Text) = False Then
    MsgBox ("Tiden skal angive som tt:mm")
    txtsluttid.SetFocus
Exit Sub
End If
Avatar billede supertekst Ekspert
16. februar 2007 - 23:56 #10
Det får du så....
Avatar billede don-a Nybegynder
17. februar 2007 - 22:58 #11
:-) done.
Avatar billede don-a Nybegynder
21. februar 2007 - 22:25 #12
vv
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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