So setzen Sie den Fokus nach Bedarf auf das Textfeld
Ich habe ein Textfeld in einem Benutzerformular. Wenn der Benutzer in dieses Textfeld nichts eingibt, muss ich dies abfangen, um eine Eingabe zu erzwingen. Ich kann dies leicht genug tun, aber nachdem ich den Benutzer darüber informiert habe, dass er eine Eingabe vornehmen muss, möchte ich, dass der Fokus zum Textfeld zurückkehrt. Im Moment macht es das nicht. Hier ist mein Code:
Private Sub txtAnswer_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Select Case KeyCode
Case 13:
If Me.txtAnswer.Value = "" Then
temp = MsgBox("You need to enter an answer!", vbCritical + vbOKOnly, "No Answer Found!")
Me.txtAnswer.SetFocus
Else
recordAnswer
End If
End Select
End Sub
Dieser Code funktioniert einwandfrei, da das Meldungsfeld angezeigt wird, wenn das Textfeld leer gelassen wird. Nach dem Löschen des Meldungsfelds wird das Meldungsfeld erneut angezeigt, wenn ich die Eingabetaste erneut drücke. Dies weist darauf hin, dass sich der Fokus auf dem Textfeld befindet. Wenn ich jedoch versuche, ein Zeichen einzugeben (z. B. die Zahl '1'), wird im Textfeld nichts angezeigt.
Kann jemand vorschlagen, wie ich den Fokus wieder auf dieses Textfeld legen kann, damit der Benutzer Daten eingeben kann? Vielen Dank!