Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
392to396
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
392to396
392to396
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Prüfung von Textboxeingaben

Prüfung von Textboxeingaben
09.03.2004 18:37:12
Detlef
Hallo Leute,
nachdem mir gestern so super geholfen wurde, versuch ich es doch gleich
nochmal mit einem Problem, was ich schon lange habe, aber bisher nicht
lösen konnte.
Ich möchte erreichen, dass in eine Textbox sowohl negative als auch
positive Zahlen mit max. 2 Nachkommastellen eingegeben werden können.
Alle anderen Eingaben sollen einfach nicht möglich sein. ich möchte
aber keine Meldungen mit Msgbox. Das - , falls es negative Zahlen
sind, soll also nur als erstes Zeichen möglich sein.
Ganz schön schwierig, oder?
Grüße Detlef

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfung von Textboxeingaben
09.03.2004 19:32:00
Josef Ehrensberger
Hallo Detlef!
Versuch' das mal!


Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Eingabebeschränkung für Textbox
'Eingabe nur Zahlen von -99,99 bis 99,99 im Format ##,## bzw -##,##
   Select Case Len(TextBox1)
      Case 0
         Select Case KeyAscii
         Case 45, 48 To 57 ' "-" ,0-9
         Case Else
         KeyAscii = 0
      End Select
   Case 1
      Select Case KeyAscii
      Case 48 To 57 '0-9
      Case Else
      KeyAscii = 0
   End Select
Case 2
   If Left(TextBox1, 1) = "-" Then
      Select Case KeyAscii
      Case 48 To 57 '0-9
      Case Else
      KeyAscii = 0
   End Select
   Else
      Select Case KeyAscii
      Case 44  ' ","
      Case Else
      KeyAscii = 0
   End Select
   End If
Case 3
   If Left(TextBox1, 1) = "-" Then
      Select Case KeyAscii
      Case 44  ' ","
      Case Else
      KeyAscii = 0
   End Select
   Else
      Select Case KeyAscii
      Case 48 To 57 '0-9
      Case Else
      KeyAscii = 0
   End Select
   End If
Case 4
   Select Case KeyAscii
   Case 48 To 57 '0-9
   Case Else
   KeyAscii = 0
   End Select
Case 5
   If Left(TextBox1, 1) = "-" Then
      Select Case KeyAscii
      Case 48 To 57 '0-9
      Case Else
      KeyAscii = 0
   End Select
   Else
      Select Case KeyAscii
      Case Else
      KeyAscii = 0
   End Select
   End If
Case Else
   Select Case KeyAscii
   Case Else
   KeyAscii = 0
   End Select
   End Select
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5


Gruß Sepp


Ein kluger Mann macht nicht alle Fehler selbst.
Er lässt auch anderen eine Chance.

(Sir Winston Churchill)


Anzeige
Fast, nur müssen vor dem Komma...
09.03.2004 19:45:48
Detlef
Hallo Sepp,
danke erstmal, nur sollten vor dem Komma beliebige Stellen möglich sein.
Hast du da noch eine Lösung?
Grüße Detlef
AW: Prüfung von Textboxeingaben
09.03.2004 19:33:34
Hajo_Zi
Hallo Detlef

Private Sub TextBox8_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'   Ansatz VB 6 Buch von Peter Monadjemi
'   nur Zahlen, ein Komma und nur 2 Stellen nach Komma
Select Case KeyAscii
Case Asc("0") To Asc("9")
If InStr(TextBox8, ",") <> 0 Then
If Len(TextBox8) - InStr(TextBox8, ",") > 1 Then KeyAscii = 0
End If
Case Asc("."), Asc(",")
If InStr(TextBox8, ",") <> 0 Then
KeyAscii = 0
Else
KeyAscii = Asc(",")
End If
Case Asc(vbBack)
'       Eingabe von minus
Case Asc("-")
'            If Len(Textbox8) = 0 Then
'                If InStr(Textbox8, "-") <> 0 Then
'                Else
'                    KeyAscii = Asc("-")
'                End If
'            Else
'                KeyAscii = 0
'            End If
Case Else
KeyAscii = 0
End Select
End Sub


Private Sub Textbox8_Change()
'   Eingabe von Minus auch nachträglich
'   diese Code ist eine gemeinasme Arbeit von Hajo und
' theonlyrobi (Robert) aus dem Forum http://www.ms-office-forum.net/forum/forumdisplay.php?s=&forumid=29
Dim BoWert As Boolean
If InStr(TextBox8, "-") >= 1 And Left(TextBox8, 1) <> "-" Then
TextBox8 = Replace(TextBox8, "-", "")
BoWert = True
ElseIf InStr(TextBox8, "-") = 1 And InStr(2, TextBox8, "-") >= 1 Then
BoWert = True
If Left(TextBox8, 1) = "-" Then
TextBox8 = "-" + Replace(TextBox8, "-", "")
Else
TextBox8 = Replace(TextBox8, "-", "")
End If
End If
If BoWert = True Then MsgBox "Ein Minus darf nur an erster Stelle stehen! Beispiel: -123,45"
End Sub

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro


Anzeige
AW: Prüfung von Textboxeingaben
09.03.2004 19:59:28
Detlef
Hallo Hajo,
wenn jetzt noch die Msgbox nicht wäre, wärs ideal. Hast du da noch
eine Idee?
Gruß Detlef
AW: Prüfung von Textboxeingaben
09.03.2004 20:05:03
Hajo_Zi
Hallo Detlef
es kann nur mit dieser Prüfung nur erreicht werden das nachträglich kein Minus mitten in der Zahl eingegeben wird. Die Zeile kannst Du auch auskmmentieren da es nur ein Hinweis ist. Das Minus mitten in der Zahl wird schon vorher entfernt.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro


Anzeige
Danke oT
09.03.2004 20:19:33
Detlef
..

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige