Тема: Переопределить стандартную клавишу ввода

Здравствуйте.
Есть процедура обрабатывающая нажатие клавиши:

Private Sub NumberBox_Keydown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = Asc(vbCr) Then
    If NumberBox.Text <> "" Then
        <del>
    Else
        Response = MsgBox("Введите данные!")
        [b]NumberBox.SetFocus[/b]
    End If
End If
End Sub

Те при нажатии Enter она должна произвести определенные действия, но если NumberBox.Text пустой - вывести сообщение и установить курсор на этот же NumberBox (в котором происходит нажатие Enter).
Суть в том что фокус на NumberBox не устанавливается. (при выборе любого другого Control'а все Ок)
Предполагаю, что это происходит из-за того что Enter является "стандартной клавишей ввода", и после ее отжатия происходит переход на новый Control (хоть и AutoTab установлен в False).
Прочитал этоо переопределении стандартных клавиш ввода, но никак не могу пример адаптировать для VBA.
Поэтому прошу Вашей помощи. Спасибо.

Re: Переопределить стандартную клавишу ввода

Не помню уже как там в VBA, но должно еще быть событие KeyPres она срабатывает до того как появляется в контроле key, отловите его там и если не нравится убейте этот энтер.