16. august 2008 - 10:03Der er
16 kommentarer og 1 løsning
VBA Userform - kun hele tal i TextBox
Hej. Er der nogle, som kan hjælpe med, hvordan jeg sikrer, at der kun indtastes hele tal i en TextBox og måske også hvordan jeg begrænser det til 4 tegn.
Virksomheder er på vej fra store sprogmodeller, der svarer på spørgsmål, til AI-agenter, der kan udføre opgaver på egen hånd. Det gør teknologien mere nyttig – og langt mere risikabel.
Private Sub TextBox1_Change() ' If TextBox1 = "" Then Exit Sub If TextBox1 - Int(TextBox1) <> 0 Then MsgBox "Der må kun indtastes hele tal op til fire tegn" End If If Len(TextBox1) > 4 Then MsgBox "Der må kun indtastes hele tal op til fire tegn" End If End Sub
JKRONS: Jeg kan ikke få først del af din kode til at virke, den går i fejl: Runtime-error '13' Type mismatch
Hvad med: Private Sub TextBox1_Change() If IsNumeric(TextBox1) = False Then MsgBox ("Kun tal!") End If If Len(TextBox1) > 4 Then MsgBox "Der må kun indtastes hele tal op til fire tegn" End If End Sub
Hvad med denne så...: Private Sub TextBox1_Change() If IsNumeric(TextBox1) = False Then MsgBox "Der må kun indtastes hele tal op til fire tegn" ElseIf TextBox1 - Int(TextBox1) <> 0 Then MsgBox "Der må kun indtastes hele tal op til fire tegn" End If
If IsNumeric(TextBox1) = False Then MsgBox "Der må kun indtastes hele tal op til fire tegn" ElseIf Len(TextBox1) > 4 Then MsgBox "Der må kun indtastes hele tal op til fire tegn" ElseIf TextBox1 - Int(TextBox1) <> 0 Then MsgBox "Der må kun indtastes hele tal op til fire tegn" End If
Hvis du bruger . (punktum), som decimal tegn, så kan du angive det i dine sprogindstillinger i windows, så vil excel også rette sig efter det og give dig en fejl, ved brug af det.
Problemet er, at mit program, skal anvendes på min arbejdsplads på flere hundrede pc'ere. Derfor er det ikke løsningen her. Kan man ikke definere, hvilke tegn, der må anvendes - altså tegnene fra 0-9
Private Sub OnlyNumbers() If TypeName(Me.ActiveControl) = "TextBox" Then With Me.ActiveControl If Not IsNumeric(.Value) And .Value <> vbNullString Then MsgBox "Sorry, only numbers allowed" .Value = vbNullString End If End With End If End Sub
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) Select Case KeyAscii Case Asc("0") To Asc("9") Case Else KeyAscii = 0 MsgBox "Du må kun indtaste TAL!", 16, "Fejl" End Select End Sub
Godt du fandt et rigtigt svar, så du ikke måtte nøjes...
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.