Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Textbox 5 Stellig

Forumthread: Textbox 5 Stellig

Textbox 5 Stellig
09.05.2008 12:06:00
Kurt
Hey Zusammen, ich habe folgendes Makro für die Eingabe der Zahlen, klappt alles.
Nun möchte ich gern den Anwender aufzuforden mindestens 5 Ziffern einzugeben, ansonsten
soll die Textbox wieder selektiert werden.

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If IsNumeric(TextBox1) = False And TextBox1  "" Then
MsgBox "Sie dürfen nur Ziffern eingeben,         " & Chr(13) & Chr(13) & _
"bitte denken SIE daran,    5 stellige Eingabe !!!      ", _
vbCritical, "Error !!!"
TextBox1 = Left(TextBox1, Len(TextBox1) - 1)
TextBox1 = "00000"
TextBox1.SetFocus
With TextBox1
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
End With
End If
End Sub



Private Sub TextBox1_AfterUpdate()
If TextBox1.Value = "" Then
TextBox1.Value = "00000"
End If
ActiveCell.Offset(0, 0) = TextBox1.Value
TextBox1 = ActiveCell.Offset(0, 0).Value
TextBox1.SetFocus
With TextBox1
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
End With
gr KURT P

Anzeige

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textbox 5 Stellig
09.05.2008 12:47:26
ransi
HAllo Kurt
Schau mal ob du mit anderen Ereignissen mehr Erfolg hast:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
    Case 48 To 57
    Case Else:
        KeyAscii = 0
End Select
End Sub



Private Sub TextBox1_LostFocus()
With TextBox1
    If Len(.Text) < 5 Then
        MsgBox "Mindestens 5 Zahlen. Sonst kommst du hier nicht raus"
        .Activate
        .SelStart = 0
        .SelLength = Len(.Text)
    End If
End With
End Sub


ransi

Anzeige
Super Spitze -)
09.05.2008 13:34:00
Kurt
Hey Ransi, funkt Super,Danke.
gr Kurt P

Doch noch einen Fehler
09.05.2008 14:09:28
Kurt
Hey Ransi, habe gerade festgestellt, der Focus nach der Fehlermeldung geht nicht
auf die Textbox1.
Hiermit Reaktion:

Private Sub TextBox1_LostFocus()
With TextBox1
If Len(.Text) 


Habe dann mal so reingesetzt aber wie beschrieben, nach der Fehlermeldung
leider kein Focus, die 5 Nullen werden aber angezeigt:


Private Sub TextBox1_AfterUpdate()
If TextBox1.Value = "" Then
TextBox1.Value = "00000"
End If
ActiveCell.Offset(0, 0) = TextBox1.Value
TextBox1 = ActiveCell.Offset(0, 0).Value
With TextBox1
If Len(.Text) 


gr kurt P

Anzeige
AW: Doch noch einen Fehler
09.05.2008 14:16:00
Peter
Hallo Kurt,
probier mal (ungetestet):

Private Sub TextBox1_AfterUpdate()
If TextBox1.Value = "" Then
TextBox1.Value = "00000"
End If
ActiveCell.Offset(0, 0) = TextBox1.Value
TextBox1 = ActiveCell.Offset(0, 0).Value
With TextBox1
If Len(.Text) 


Gruß Peter

Anzeige
Leider nicht
09.05.2008 19:13:00
Kurt
Hey Peter leider klappt es so auch nicht.
gr kurt p

AW: Leider nicht
09.05.2008 20:43:45
Tino
Hallo,
habe mal estwas getestet, so müsste es gehen.

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(TextBox1.Text) 


Gruß
Tino

Anzeige
AW: Leider nicht
09.05.2008 21:57:11
Horst
Hi,
Mist, so kann User die Box nicht verlassen, unzulässige Bevormundung.
mfg Horst

AW: ? OT.
09.05.2008 22:12:24
Tino

Ja aber nur teilweise
10.05.2008 09:54:33
Kurt
Hey Tino,
guten Morgen.
Habe mal reinkopiert, bei mir springt nach der Fehlermeldung die Textbox
immer auf eine "0", komme dann nicht raus.
Gebe dann 5x 11111 ein dann geht es.
gr kurt p

Anzeige
AW: Ja aber nur teilweise
10.05.2008 11:30:00
Gerd
HEYHEYHEYHEY,
nimm einen Commandbutton, dann ist dies überhaupt kein Problem.

Private Sub CommandButton1_Click()
If Len(TextBox1.Text) 


Gruß Gerd

Wieso ? geht doch nicht
10.05.2008 13:44:00
Kurt
Hey Gerd,
wieso CommandButton, die Reaktion soll doch nach der Eingabe in der Textbox1
erfolgen,
gr kurt P

Anzeige
Ich habe die Lösung -)
10.05.2008 14:35:00
Kurt
Hey Zusammen, habe noch ein wenig rummgebastelt, so
funktioniert es:

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(TextBox1.Text) 


Schöne Pfingsten
gr kurt P

AW: Commandbutto
10.05.2008 14:44:00
Gerd
Hallo Kurt,
weil dann auch der User selbst überprüfen kann, ob er alle Eingaben getätigt hat,
bevor es weiter geht.
P.S.: Eine andere Anrede als "Hey" wäre sympmatischer. Dies klingt so nach Schreierei.
Gruß Gerd

Anzeige
Dankefür die Info !!!
12.05.2008 10:11:00
Kurt
Guten Morgen Gerd, DANKE für die Info.
gr kurt P
;

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