Тема: Переопределить стандартную клавишу ввода
Здравствуйте.
Есть процедура обрабатывающая нажатие клавиши:
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.
Поэтому прошу Вашей помощи. Спасибо.