Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
1644to1648
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

Problem mit Focus

Problem mit Focus
20.09.2018 19:57:33
marta
Hallo
In meiner Userform sind 4 Textboxen.
1. und 3 Textbox sind mit Datumsformat.
2und 4 Textbox sind mit Währungsformat
Wenn ich eine 0 eingeben soll die Textboxen ausgeblendet werden.
Jetzt mein Problem, wenn ich in Textbox 1 nichts eingebe, kommt eine Fehlermeldung wegen Focus.
Er kann denn Focus nicht setzten. Und wenn ich 0 eintippe passiert rein gar nichts.
Wie kann ich das Problem beheben?
Bei Textbox 2 und 4. geht das zwar mit 0 aber, der Cursor springt dann in Textbox 4 und nicht in Textbox 3
Wie kann ich das beheben?
Vorschläge sind erwünschen wert.
Hier ist meine Beispieldatei: https://www.herber.de/bbs/user/124117.xlsm
Gruß Marta

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Was für ein Durcheinander...
20.09.2018 22:23:54
EtoPHG
Marta,
Es gibt keine TextBox1.
Die Labels stimmen nicht mit den darunterstehenden Textboxen überein.
Dann zu Reihenfolgen: Die Controls werden in der Reihenfolge der .TabIndex Werte aktiviert. Diese im Designmodus der Userform richtig festlegen (Beginn mit 0).
Dann zum Code:
Für eine Textbox gibt es keinen Code!
Die Qualifizierung mit Me. ist völlig überflüssig, da sich der Code in der Codeklasse der Userform befinden.
.SetFocus kannst du vergessen, um im _Exit Ereignis in der Control zu bleiben, muss Cancel=True gesetzt werden.
Auch die Errorhandler sind überflüssig.
Alle Code nach diesem Muster (für TextBox2) aufbauen:
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
With TextBox2
Select Case True
Case .Text = ""
.Visible = False
Case IsDate(.Text)
.Text = Format(CDate(.Text), "DD.MM.YYYY")
.BackColor = vbWhite
Case Else
MsgBox "Kein gültiges Datum bitte nur Datum eingeben!"
.SelStart = 0
.SelLength = Len(.Text)
.BackColor = vbRed
Cancel = True
End Select
End With
End Sub
Gruess Hansueli
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige