Сохранять фокус в текстовом поле после нажатия клавиши ВВОД

Как я могу сохранить фокус в текстовом поле после нажатия клавиши ввода в форме VBA?

Этот код добавляет текст в список, и я хочу сохранить фокус в текстовом поле, чтобы подготовиться к получению другой элемент.

Когда я нажимаю кнопку «Добавить», он добавляет текст в список и возвращает фокус в текстовое поле, однако, когда я нажимаю клавишу ввода, этого не происходит, даже несмотря на то, что он использует тот же код. Есть предложения?

Это мой код для текстового поля:

Private Sub TxtOtherAsset_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

    If KeyCode = 13 Then
        CmdAddOtherAsset_Click
    End If

End Sub

и это код для моей кнопки:

Private Sub CmdAddOtherAsset_Click()

    If TxtOtherAsset.Text <> "" Then
        ListAddedAssets.AddItem TxtOtherAsset.Text
        TxtOtherAsset.Text = ""
    End If

    TxtOtherAsset.SetFocus

End Sub

Я пробовал несколько способов, но не могу вернуть фокус в текстовое поле. После нажатия Enter фокус переходит к следующему элементу TabIndex.

6
задан Joel Coehoorn 8 March 2012 в 18:09
поделиться