Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1624to1628
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
Inhaltsverzeichnis

Rechnen mit TextBox in UF, User in Eingabe fueren

Rechnen mit TextBox in UF, User in Eingabe fueren
05.06.2018 07:51:17
Ralf
Sehr geehrte Forumsmitglieder,
vorab möchte ich mich für Eure interessanten und lehrreichen Beiträge bedanken.
Ich habe ein Problem bei dem ich nicht weiter weiß.
Windows 7
Office 2010
Ich habe eine Excel Datei hochgeladen.
https://www.herber.de/bbs/user/121963.xlsm
Im VBA Editor sind mit "#####" die TextBoxen markiert wo es meiner Ansicht nach Schwierigkeiten mit der Umsetzung gibt.
Ich würde mich freuen, wenn mir jemand von Euch helfen könnte.
Hier nochmal den Text aus dem VBA Editor:
'Problem: Wenn sich die leere UserForm öffnet, soll vermieden werden, dass
'der Benutzer z. B. in TextBox24, TextBox25 oder TextBox26 per Maus klickt
'und dort Eingaben tätigen kann bevor nicht in z.B. in die dazugehörige TextBox6, TextBox8 oder TextBox12
'etwas reingeschrieben worden ist.
'Man könnte den Benutzer mit einer MsgBox "blabla" darauf hinweisen.
'Wenn die Eingabe wie von mir gewünscht in z. B. TextBox6 und TextBox24 vom Benutzer durchgeführt wurde:
'soll der Cursor in TextBox8 springen, egal ob der Benutzer die Pfeiltasten, die Maus oder Enter benutzt.
'Aktuell springt er in TextBox26, was nicht von mir gewollt ist.
'####################################################################
'Wenn der Benutzer hier eine Eingabe tätigt, wird er sobald er die "PfeiltasteUnten" oder die Maus benutzt
'in TextBox24 geführt. Wenn er von dort aus weiter klickt (Enter, Pfeiltaste oder Maus) ohne vorherige Eingabe
'kommt die MsgBox "Bitte erzeugte xy eintragen."
'Wenn der Benutzer ausschließlich mit Enter arbeitet wird die MsgBox bereits "pauschal" aktiviert wenn auf TextBox6 mit Enter gewechselt wird.
'Es wäre super wenn auch beim Drücken der Enter Taste vom Wechsel von TextBox6 auf TextBox24 nicht die MsgBox vorher auftauchen würde,
'sondern erst dann, wenn der Benutzer probiert die TextBox24 ohne Eingabe mit Enter zu verlassen.
MfG Ralf

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Rechnen mit TextBox in UF, User in Eingabe fueren
06.06.2018 12:46:44
fcs
Hallo Ralf,
wenn du die Reihenfolge der Eingaben in Textboxen fest vorgeben willst, dann kannst du mit dem Exit-Ereignis arbeiten. Gleichzeitig kannst du mit dem Exit-Ereignis auch den Inhalt der Textbox prüfen, die verlassen wird.
Nachfolgend ein Code-Beispiel für 5 Textboxen (Textbox1 bis Textbox5) in die nummerische Werte eingetragen werden müssen.
Gruß
Franz
Private Function fncNextBoxFocus(BoxExit As Object, _
Optional BoxNext As Object, Optional strMsg As String) As Boolean
'Eingabe in Textbox prüfen, die verlassen wird ggf. Fokus auf nächste Box setzen
'BoxExit = Textbox, die per ENTER, TAB oder Mausklick etc. verlassen wird
'BoxNext = optionale Textbox, auf die beim Verlassen von BoxExit ggf der Fokus _
gesetzt werden soll
'strMsg  = Optionaler Text der als Meldung angezeigt werden soll wenn Inhalt von _
BoxExit nicht nummerisch ist
If IsNumeric(BoxExit.Object.Value) Then
fncNextBoxFocus = False
If Not BoxNext Is Nothing Then
If BoxNext.Object.Value = "" Then BoxNext.SetFocus
End If
Else
If strMsg = "" Then
strMsg = """" & BoxExit.Name & """ muss eine Zahl enthalten"
End If
MsgBox strMsg, vbOKOnly, "Prüfung Eingabe-Textbox"
fncNextBoxFocus = True
BoxExit.Object.Value = ""
End If
End Function
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Cancel = fncNextBoxFocus(BoxExit:=Me.TextBox1, BoxNext:=Me.TextBox2)
End Sub
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Cancel = fncNextBoxFocus(BoxExit:=Me.TextBox2, BoxNext:=Me.TextBox3)
End Sub
Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Cancel = fncNextBoxFocus(BoxExit:=Me.TextBox3, BoxNext:=Me.TextBox4)
End Sub
Private Sub TextBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Cancel = fncNextBoxFocus(BoxExit:=Me.TextBox4, BoxNext:=Me.TextBox5)
End Sub
Private Sub TextBox5_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Cancel = fncNextBoxFocus(BoxExit:=Me.TextBox5)
End Sub
Private Sub UserForm_Activate()
Me.TextBox1.SetFocus '1. auszufüllende Textbox
End Sub

Anzeige
AW: Rechnen mit TextBox in UF, User in Eingabe fueren
06.06.2018 16:49:35
Ralf
Hallo Franz,
ich danke Dir für deine Antwort.
Ich bin die kommende Woche unterwegs und werde mich melden, wenn ich deinen Code ausprobiert habe.
MfG Ralf
AW: Rechnen mit TextBox in UF, User in Eingabe fueren
06.06.2018 21:46:39
Hajo_Zi
hallo Ralf,
Warum offen? Soll jemand vorbei kommen? Du willst es doch testen?

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige