21. august 2012 - 11:54Der er
4 kommentarer og 1 løsning
Validering af input i textbox (userform)
Hej Eksperter
Jeg har nu arbejdet en del med at finde en brugbar løsning på validering af input i flere textbokse med ens type indhold. Min store udfordring er at jeg ikke ønsker at trykke på en godkendelses knap hver gang jeg springer fra felt til felt. Jeg vil gerne have det til at virke sådan, at jeg taster værdien og i det øjeblik man hopper videre til den næste indtastning, så udføres kontrollen af indholdet. Hvis indholdet ikke er rigtigt blankes feltet af og brugeren bliver bedt om at taste en ny værdi. Valideringen af feltet er at der skal være en numerisk værdi og den skal være i intervallet 8000 til 50000 og der kan kun tastes i hele 1000 i intervallet 8000 til 20000 og herefter må der kun tastes i hele 2000 i intervallet 20000 til 50000.
hvis nu man er i et felt, og helt vil droppe at udfylde siden - så vil man ikke kunne forlade det, da felt skal udfyldes, og hvis man gør det, så låses cursor i det næste felt. Du kan lave en validering, men du skal også acceptere tomt felt, så bruger har mulighed for at klikke på en 'fortryd/exit' knap.
Ja. Den havde jeg ikke lige tænkt på, men du har naturligvis ret. Jeg forestiller mig i den sammenhæng at der er en cancle/exit knap, så man kan forlade indtastningen. Det er den eneste sammenhæng jeg kan acceptere et tomt felt eller forkert dataindtastning. I alle andre sammenhænge skal data udfyldes før man kan komme til det efterfølgende felt/indtastning.
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If IsNumeric(TextBox1.Text) Then If TextBox1.Text < 10 Then Cancel = True With TextBox1 .SelText = "Større end 10, tak" .SetFocus .SelStart = 0 .SelLength = Len(.Text) End With End If Else Cancel = True With TextBox1 .SelText = "Skriv et tal, tak" .SetFocus .SelStart = 0 .SelLength = Len(.Text) End With End If End Sub
så laver du en validering på felter Private Sub Text1_LostFocus() ' korrekt tal eller tom End Sub
og en 'fortryd' tast, der forlader formen, og en 'næste' tast, der lige tjekker, at ingen felter er tomme (hvis der er tal i, så er det jo testet korrekt)
Tak for inspiration fra tjp. TextBox_Exit var god inspiration. Jeg har set en del på det jeg har fra claes57, men jeg har desværre ikke kunnet bruge det til noget. måske fordi jeg ikke helt har forstået det, men jeg fik det ikke til at give resultat. Jeg har nu lavet programmet og fået det til at virke efter hensigten. måske ikke på optimal vis, men det virker.
Tak for input.
Synes godt om
Ny brugerNybegynder
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.