Hey, sidder og er ved at lave et program, og hvordan får jeg lavet sådan at jeg KUN kan indtaste tal fra 0-10, hvis jeg trykker andet skal den slet ik skrive noget.
Mød TrackMan og Veo på Computerworld Cloud & AI Festival og hør, hvordan tech ændrer måden, vi træner og udvikler talent – fra skolebold til The Masters.
if isNumeric(tekstfelt.value) then if (0 <= tekstfelt.value and tekstfelt.value <= 10) then ' alt ok else msgbox "tal er for lille eller for stort" end if else msgbox "kun tal" end if
Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 8 Then Exit Sub 'backspace If KeyAscii < 48 Or KeyAscii > 59 Then KeyAscii = 0 MsgBox KeyAscii End If End Sub
Den virker ved, at hver gang du taster et tegn i textboxen aktiverer du _KeyPress eventen.
Dvs. hver gang du skriver et tegn i textboxen, bliver kabbaks kode afviklet.
Den tjekker hvilket tegn du netop har tastet ved at undersøge keyascii værdien, og ligger den mellem 49 og 58 (svarende til tegnene "1-2-3-4-5-6-7-8-9-0") sker der ingenting, men alle andre tegn slettes ved Keyascii = 0
Her den samme kode, på en lidt anden måde, der tillader backspace, og får Retur til at hoppe videre til næste kontrol
Private Sub text1_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case vbKeyReturn 'Enter-tast SendKeys "{tab}" 'Sender tabulatortegn i stedet for Case vbKeyBack 'Backspace Case 48 To 57 'Tallene 0-9 Case Else 'Alle andre tastetryk KeyAscii = 0 'Sletter det tastede tegn End Select End Sub
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.