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!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage