Hallo zusammen,
ich möchte in der Routine Text1_AfterUpdate() den Focus auf die Textbox mit Namen Text1 setzen, wenn im Feld ein Punkt eingetragen wurde. Ich erhalte auch die Fehlermeldung, das ein Komma statt Punkt eingetragen werden soll, jedoch springt der Cursor weiter zum zweiten Textfeld statt den Focus auf Text1 zusetzen.
Wie müssen die Eigenschaften von Text1 gesetzt werden, damit der Focus richtig gesetzt wird? Spielt Multiline eine Rolle?
Gruß JoJo
Private Sub UserForm_initialize()
Call werte_vorbesetzen
End Sub
Private Sub werte_vorbesetzen()
'Vorbesetzen der allgemeinen Parameter
Text1 = Format(CDbl(ActiveWorkbook.Worksheets("Eingabe Strom").Range("N4") * 100), "0.0")
TextBox2 = Format(CDbl(ActiveWorkbook.Worksheets("Eingabe Strom").Range("N5") * 100), "0.0")
End Sub
Private Sub Text1_AfterUpdate()
If Text1.Text = "" Then
Text1.Text = "0,0"
ElseIf InStr(Text1.Text, ".") > 0 Then
MsgBox "Bitte Eingabe mit Komma statt Punkt!"
Text1.SetFocus
End If
End Sub
ich möchte in der Routine Text1_AfterUpdate() den Focus auf die Textbox mit Namen Text1 setzen, wenn im Feld ein Punkt eingetragen wurde. Ich erhalte auch die Fehlermeldung, das ein Komma statt Punkt eingetragen werden soll, jedoch springt der Cursor weiter zum zweiten Textfeld statt den Focus auf Text1 zusetzen.
Wie müssen die Eigenschaften von Text1 gesetzt werden, damit der Focus richtig gesetzt wird? Spielt Multiline eine Rolle?
Gruß JoJo
Private Sub UserForm_initialize()
Call werte_vorbesetzen
End Sub
Private Sub werte_vorbesetzen()
'Vorbesetzen der allgemeinen Parameter
Text1 = Format(CDbl(ActiveWorkbook.Worksheets("Eingabe Strom").Range("N4") * 100), "0.0")
TextBox2 = Format(CDbl(ActiveWorkbook.Worksheets("Eingabe Strom").Range("N5") * 100), "0.0")
End Sub
Private Sub Text1_AfterUpdate()
If Text1.Text = "" Then
Text1.Text = "0,0"
ElseIf InStr(Text1.Text, ".") > 0 Then
MsgBox "Bitte Eingabe mit Komma statt Punkt!"
Text1.SetFocus
End If
End Sub