Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
608to612
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
608to612
608to612
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Fehler bei Eingabe abfangen

Fehler bei Eingabe abfangen
11.05.2005 08:39:24
Setesh@gmx.de
Hi Leute !!
Ich sitze jetzt schon seit über einer Stunde an folgendem Problem.
Ich wollte ein Programm schreiben, indem ich per VBA ein Textfeld eingefügt habe. In diesem sollen nur Zahlen eingegeben werden können und ein Komma. Auch keine Punkte. Ich hab es jetzt hinbekommen, dass wenn jemand Buchstaben eingibt, eine Messagebox erscheint(mit der isnumeric-funktion). Ich hätte es jetzt nur noch gerne, dass die falsche Eingabe makiert wird. Zudem weiß ich nicht wie ich es abfangen kann, dass man nur ein Komma eingeben kann und keine Punkte. Ich habe das
Textfeld tbein.txt genannt. Ich wäre echt superdankbar wenn mir einer helfen könnte.
Gruß euer Dirk

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler bei Eingabe abfangen
11.05.2005 09:22:51
Hajo_Zi
Hallo
für eine Userform habe ich mal folgendes erstellt

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'   Ansatz VB 6 Buch von Peter Monadjemi
'   nur Zahlen und ein Komma
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Asc("."), Asc(",")
If InStr(TextBox1, ",") <> 0 Then
KeyAscii = 0
Else
KeyAscii = Asc(",")
End If
Case Asc(vbBack)
'       Eingabe von minus
Case Asc("-")
'            If Len(TextBox1) = 0 Then
'                If InStr(TextBox1, "-") <> 0 Then
'                Else
'                    KeyAscii = Asc("-")
'                End If
'            Else
'                KeyAscii = 0
'            End If
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub Textbox1_Change()
'   Eingabe von Minus auch nachträglich
'   diese Code ist eine gemeinasme Arbeit von Hajo und
' theonlyrobi (Robert) aus dem Forum <a href="http://www.ms-office-forum.net/forum/forumdisplay.php?s=&forumid=29">http://www.ms-office-forum.net/forum/forumdisplay.php?s=&forumid=29</a>
Dim BoWert As Boolean
If InStr(TextBox1, "-") >= 1 And Left(TextBox1, 1) <> "-" Then
TextBox1 = Replace(TextBox1, "-", "")
BoWert = True
ElseIf InStr(TextBox1, "-") = 1 And InStr(2, TextBox1, "-") >= 1 Then
BoWert = True
If Left(TextBox1, 1) = "-" Then
TextBox1 = "-" + Replace(TextBox1, "-", "")
Else
TextBox1 = Replace(TextBox1, "-", "")
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 Windows 2000 SP4 und Excel Version 2000 SP3.



"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.
Anzeige
AW: Fehler bei Eingabe abfangen
11.05.2005 09:25:24
MichaV
Hi,
hatte mal für einen anderen User eine Beispielmappe gebastelt.
https://www.herber.de/bbs/user/22429.xls
Gruß- Micha
PS: Rückmeldung wäre nett.
AW: Fehler bei Eingabe abfangen
11.05.2005 09:52:40
Dirk
THX Micha für die Antwort....aber leider kann man bei deinem Proggi mehrere Punkte bei den Zahlen mit eingeben :-((
AW: Fehler bei Eingabe abfangen
11.05.2005 10:02:39
MichaV
Hi,
es bleibt trotzdem eine Zahl, für Excel jedenfalls.
Dann gehts nicht anders als über die Tastaturabfrage, siehe Hajo oder das Beispiel für die Nur- Text- Eingabe. (musst nur andersherum drehen)
Gruß- Micha

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige