Подозреваю, что вопрос наивный, возможно даже глупый, но тем не менее ...
На форме - Кнопка (Command)
Если верить VB помимо всего прочего ей сопоставлены Event-ты: Click, KeyUp, KeyDown.
Вот и пишем
Sub Command1_Click()
MsgBox "Кликнули"
End sub
Sub command1_KeyUp (KeyCode As Integer, Shift As Integer)
MsgBox "КейАпнули"
End sub
Sub command1_KeyDown (KeyCode As Integer, Shift As Integer)
MsgBox "КейДаунули"
End sub
Click в чистом виде (то есть мышью) неактуален - мыши не предполагается, посему мужественно жмем на ENTER - Вылетает " Кликнули ", т.е. 2-й и 3-й Sub-ы проигнорировали как нажатие кнопки ENTER, так и ее отпускание.
Ладно Клик так Клик. Пишу свой код в это вобытие. Код передает фокус вледующему контролу на форме, которому тоже прописано свое событие KeyUp. И тут выясняется, что то первое нажатие на ENTER не пропало бесследно, не трансформировалось в Click, а классно так сработало уже на новом контроле.
По моему скромному мнению получилось слишком много суеты от одного нажатия пусть и на большую кнопочку.
Просветите парня ... пошли вторые сутки...