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

Zahlen im Textfeld! @Nepumuk

Zahlen im Textfeld! @Nepumuk
15.07.2005 10:12:00
Stephan
Hallo Nepumuk!
Erstmal vielen Dank für dein Angebot!
Es soll eigentlich nur überprüft werden ob es sich bei der Eingabe in die Textbox um eine Zahl handelt. Dabei sollen auf jeden Fall auch Dezimalzahlen erlaubt sein. Der Gedanke einen Bereich vorzugeben ist mir noch gar nicht gekommen, wäre aber auch sinnvoll.
Habe es auch schon halbwegs hinbekommen. Führe die Überprüfung anhand des Textbox_Change-Ereignisses durch. Leider erscheint dann die Fehlermedung auch wenn ich eine bereits eingegebene Zahl ändern möchte.
------------------------------------------------------------------------

Private Sub txt_UmgTemp_Change()
If Not IsNumeric(txt_UmgTemp) Then
MsgBox ("Sie müssen einen numerischen Wert eingeben!")
txt_UmgTemp.SetFocus
txt_UmgTemp.SelStart = 0
txt_UmgTemp.SelLength = Len(txt_UmgTemp.Text)
End If
End Sub

------------------------------------------------------------------------
Habe jetzt auch gerade noch eine weitere Möglichkeit ausprobiert und zwar über das Textbox_KeyPress-Ereigniss zusammen mit dem ASCII-Code. Das funktioniert auch fast perfekt. Aber jetzt ist es immer noch möglich Zahlen wie z.B. 00100 oder 12,,,000 einzutippen. Das führt dann auch wieder zum sofortigen Abbruch des Programms, weil er halt mit diesne Zahlen nicht rechnen kann.
-------------------------------------------------------------------------

Private Sub txt_UmgTemp_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Dim Komma As Integer
Select Case KeyAscii
Case 48 To 57 'Ascii
If Len(txt_UmgTemp) > 6 Then KeyAscii = 0 'Anzahl Zeichen
Case 44
If Len(txt_UmgTemp) > 6 Then KeyAscii = 0 'Anzahl Zeichen
Case Else: KeyAscii = 0
End Select
End Sub

-------------------------------------------------------------------------
Wäre klasse wenn es noch die ultimative Lösung gibt!
Viele Grüße,
Stephan

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahlen im Textfeld! @Nepumuk
15.07.2005 10:18:38
u_
Hallo,
versuh mal das:

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsNumeric(TextBox1) Then
MsgBox "bitte eine Zahl eingeben"
Cancel = True
Me.TextBox1.SetFocus
End If
End Sub

Gruß
Geist ist geil!
AW: Zahlen im Textfeld! @Nepumuk
15.07.2005 10:37:15
Stephan
Hallo,
erstmal danke für deine Hilfe!
Die Lösung fnktioniert auch fast perfekt. Jetzt ist es immer noch möglich eine Null an den Anfang zu stellen (also z.B. 0123). Das würde dann auch zum Abbruch des ganzen Programms führen.
AW: Zahlen im Textfeld! @Nepumuk
15.07.2005 10:53:23
u_
Hallo,
dann wandele den Inhalt der TB doch in eine Zahl um!

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
On Error GoTo errHandler
Me.TextBox1 = Me.TextBox1 * 1
Exit Sub
errHandler:
MsgBox "Bitte eine Zahl eingeben"
Cancel = True
Me.TextBox1.SetFocus
End Sub
Gruß
Geist ist geil!
Anzeige
AW: Zahlen im Textfeld! @Nepumuk
15.07.2005 11:26:15
Stephan
Irgendwie passt es nie 100%ig. Jetzt habe ich das Problem, dass ich auch noch einen "Abbruch"-Button habe um alles zu beenden und damit zum Beginn des programms zurückzukehren. Und diesen "Abbruch"-Button kann ich jetzt nur benutzen, wenn ich bereits Zahlen eingegeben habe.
Aber was mich gerade am meisten interessiert ist, was hat es mit diesem Errorhandler auf sich? Das sagt mir nicht soviel!
AW: Zahlen im Textfeld! @Nepumuk
15.07.2005 11:48:10
u_
Hallo,
dann musst du die Prüfung doch in das Klick-Erignis des OK-Buttons setzen.
ErrHandler:=Fehlerbehandlung.
On Error Goto ErrHandler: Tritt ein Fehler auf, dann springe zu errHandler. Das passiert immer dann, wenn der Inhalt der TB keine Zahl ist und mit 1 multipliziert wird.
Gruß
Geist ist geil!
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige