Anzeige
Archiv - Navigation
756to760
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
756to760
756to760
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA: Textbox Zahleneingabe wertmäßig beschränken

VBA: Textbox Zahleneingabe wertmäßig beschränken
01.05.2006 09:29:07
Steamy
Hallo!
Ich habe folgendes Problem:
In zwei Textboxen einer Userform soll eine Uhrzeit eingegeben werden - in die erste die Stunden, in die zweite die Minuten.
Jetzt habe ich über textbox_keypress die Eingabe bereits derart beschränkt, dass nur Ziffern eingegeben werden können und weitere Zifferneingaben ab textbox.textlengh = 2 verworfen werden.
Allerdings sollte man nur sinnige Werte eingeben können, also z.B. in der Minuten-Textbox nur Werte von 0 - 59.
Wie kamm man das realisieren? Es soll nämlich sofort während der Eingabe eine Berechnung stattfinden...
Gruß,
Steamy

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

Betreff
Datum
Anwender
Anzeige
AW: VBA: Textbox Zahleneingabe wertmäßig beschränken
01.05.2006 09:47:29
Jürgen
Hallo Steamy,
guck mal, ist das OK?

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57
Case Else
MsgBox "Es sind nur Eingaben von 0 - 9 möglich"
TextBox1.Value = ""
TextBox1.SetFocus
End Select
If Len(TextBox1.Value) >= 2 Then
MsgBox "Es ist nur eine zweitstellige Eingabe erlaubt"
TextBox1.Value = ""
TextBox1.SetFocus
End If
End Sub

Gruß Jürgen
AW: VBA: Textbox Zahleneingabe wertmäßig beschränk
01.05.2006 10:21:50
steamy
Hallo Jürgen,
vielen Dank - aber das habe ich soweit dank Google schon selber realisieren können.
Mir geht es vielmehr noch darum, während der Eingabe z.B. der Minuten 27 zuzulassen, nicht aber 72.... und 72 ist halt auch 2-stellig; generell sollte man bei den Minuten nur Werte von 0-59 eingeben können.
Klar könnte man in KeyPress noch überprüfen ob TextBox1.Value = 7 und dann keine weitere Ziffer zulassen - aber die Ziffer könnte ja auch _vor_ der 7 eingegeben werden - und da wären dann Werte von 0 - 5 zulässig....
Gruß,
Steamy
Anzeige
AW: VBA: Textbox Zahleneingabe wertmäßig beschränk
01.05.2006 10:36:52
Oberschlumpf
Hi
Und wenn du einfach die Größe des Wertes überprüfst?

If wert > 59 Then MsgBox "Nur Werte von 0 - 59 zulässig"

Konnte ich helfen?
Ciao
Thorsten
AW: VBA: Textbox Zahleneingabe wertmäßig beschränk
01.05.2006 11:01:00
Jürgen
Hallo Steamy,
über das Change Ereignis. Bei mir klappt das soweit. Versuche doch mal, ob du damit leben kannst.

Private Sub TextBox2_Change()
If Len(TextBox2.Value) >= 3 Or TextBox2.Value > 59 Then
TextBox2.Value = ""
TextBox2.SetFocus
Exit Sub
Else
End If
End Sub

Gruß Jürgen
AW: VBA: Textbox Zahleneingabe wertmäßig beschränk
01.05.2006 11:19:27
Erich
Hallo Steamy,
so kannst du's auch kombinieren:
Private Sub TextBox2_Change()
With TextBox2
If Val(.Value) > 59 Then
MsgBox "Es sind max. 59 Minuten erlaubt."
.Value = ""
.SetFocus
End If
End With
End Sub
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
With TextBox2
Select Case KeyAscii
Case 48 To 57
Case Else
MsgBox "Es sind nur Eingaben von 0 - 9 möglich."
KeyAscii = 0
.Value = ""
.SetFocus
Exit Sub
End Select
If Len(.Value) >= 2 Then
MsgBox "Es ist nur eine zweistellige Eingabe erlaubt."
KeyAscii = 0
.Value = ""
.SetFocus
End If
End With
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige