Live-Forum - Die aktuellen Beiträge
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
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


Hallo zusammen.
Gibt es über VBA eine Möglichkeit, die Hintergrundfarbe einer Zelle in eine Zahl umzuwandeln und das schneller als mit for- Schleifen?
Habe einen Bereich ("J16:AG39"), wo ich per Zellaktivierung mit der Maus Zellen oder auch Zellbereiche mit einer Hintergrundfarbe verseh...
Anzeige

Hallo Excel-Freunde
ich möchte gern per Formel folgendes lösen:
in zelle a3 steht
1 haley, bill rock around the clock 1956
jetzt soll in b3 die "1" stehen --- löse ich per Formel mit =LINKS(A3;SUCHEN(" ";A3)-1)
in e3 soll "1956" stehen --- löse ich mit Array-Formel {=...

Hallo ihr lieben,
ich schreib jetzt schon den ganzen Tag an folgender Routine:
Private Sub CommandButton1_Click() Dim z As Integer z = Range("I101").End(xlUp).Row + 1 TextBox1 = Format(CDate(TextBox1.Value), "dd.mm.yyyy") Cells(z, 9) = TextBox1 'Datum des Tauchgangs Cells(z, 12) = Tex...
Anzeige

Hallo,
ich habe einen Textstring mit Zahlen die ich rechstbündig anordnnen will.
Text= "Beisiel: " & Format (Zahl,"#,###")
Wie wird die Zahl im Formatbefehl z.B rechtsbündig bei max 6 Stellen ausgegeben?
Gruß
Helmut

Hallo Gemeinde
Ich habe eine Zelle in einem .xlt, dort soll der User eine Zahl eingeben und mit dem Changeereignis
soll die Zahl in der Form JJ/###A umgewandelt werden.
Beispiel: 201 soll 08/201A werden. Das, was ich hier verbrochen habe, funst nicht, kann mir jemand helfen?
P...

Hallo zusammen,
ich habe folgendes Problem:
Mit dem u. a. Code werden Zeilen aus einer Datei in eine andere kopiert. Die Spalte B (B2:B65535) der Zieldatei ("Auswertung.xls)" soll nun aber zusätzlich noch mit 1 multipliziert werden, da diese ein Datum als Textzahl enthält und dieses in...
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige