Jak w razie potrzeby ustawić ostrość na polu tekstowym

Mam pole tekstowe na formularzu użytkownika. Jeśli użytkownik nie wprowadzi niczego w tym polu tekstowym, muszę go zablokować, aby wymusić wpis. Mogę to łatwo zrobić, ale po powiadomieniu użytkownika, że ​​musi dokonać wpisu, chcę, aby fokus powrócił do pola tekstowego. W tej chwili tak nie jest. Oto mój kod:

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

Ten kod działa poprawnie, ponieważ okno komunikatu pojawia się, jeśli pole tekstowe jest puste. Po wyczyszczeniu okna komunikatu, jeśli ponownie wcisnę enter, okno komunikatu pojawi się ponownie, sugerując, że fokus znajduje się w polu tekstowym. Jeśli jednak spróbuję wprowadzić znak (na przykład liczbę „1”), nic nie pojawia się w polu tekstowym.

Czy ktoś może zasugerować, w jaki sposób mogę ponownie skupić się na tym polu tekstowym, aby umożliwić użytkownikowi wprowadzanie danych? Dziękuję Ci!

questionAnswers(3)

yourAnswerToTheQuestion