20. november 2003 - 14:30Der er
19 kommentarer og 1 løsning
Vise tekst fra fejl til brugeren
I forskellige funktioner m.m. prompter jeg brugeren for værdier osv.
Hvordan viser jeg fejlen hvis brugeren f.eks. taster noget vrøvl i en numerisk variabel. Et eks.
FOR i = 1 to 5 do bla. bla.
1 og 5 er variable som der promptes for, hvis brugeren fejlagtigt skriver abc i stedet for et tal, vil jeg returnere noget i stil med: "Din angivne værdi abc er forkert" osv. osv. og herefter forlade rutinen så INTET af koen gennemføres
Private Sub tbAntal_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) KeyPressNumbersOnly KeyAscii End Sub
... og her funktionen:
Public Sub KeyPressNumbersOnly(ByVal KeyAscii As MSForms.ReturnInteger) 'Flemming Dahl, April 2000, fd@smartoffice.dk 'eks. i KeyPress subben: KeyPressNumbersOnly KeyAscii Select Case KeyAscii Case vbKey0 To vbKey9, vbKeyBack Case Else Beep KeyAscii = 0 End Select End Sub
Du kan bruge den cddk, anvender, der tester på hvert eneste anslag (men jeg ved faktisk ikke om den virker i Inputbokse. Eller du kan bruge noget i denne stil:
VarX = Inputbox("Indtast første tal") If Not IsNumeric(varX) Then Msgbox "Du skal indtaste et tal", vbOkOnly + vbExclamation Exit Sub End If
Lad VarY vælre lig input boks til andet tal, og gentag ovenstående. Fortsæt dernæst med din egen kode.
Vedr. linieskift i MsgBox, har jeg gjort den erfaring, at vbNewline altid fungerer i.s.f vbCrlf og Chr(13).
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.