Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Prüfung von Textboxeingaben

Forumthread: 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
Anzeige

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
..
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige