Держите фокус на Textbox после нажатия Enter в VBA Excel - PullRequest
0 голосов
/ 12 июня 2018

У меня проблемы с потерей фокуса на текстовом поле при нажатии Enter.Я знаю, что подобный вопрос уже решен, но по какой-то причине он просто не работает.

Этот код обнаруживает нажатие клавиши ввода в текстовом поле MeasuredDim и затем вызывает подпрограмму NextDim_click.NextDim_click также работает через командную кнопку и также включает в себя MeasuredDim.SetFocus и прекрасно работает при нажатии кнопки, но при вызове NextDim_click после нажатия клавиши Enter фокус теряется на всей пользовательской форме.

Как это не работает для меня?

 Private Sub MeasuredDim_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = vbKeyReturn Then
    Call NextDim_Click
    KeyCode = 0
    MeasuredDim.SetFocus
    End If
    End Sub

1 Ответ

0 голосов
/ 12 июня 2018

Это работает для меня:

Private Sub MeasuredDim_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = vbKeyReturn Then
        Call NextDim_Click
        KeyCode = 0
        Me.MeasuredDim.SetFocus
    End If
End Sub

Private Sub NextDim_Click()
    MsgBox "NextDim_Click"
End Sub

Обратите внимание на строку

Me.MeasuredDim.SetFocus

, где ключевое слово Me полностью квалифицирует утверждение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...