Keycode 13 only for textbox input on userform
I can't seem to resolve how to keep the focus in a textbox of a userform when using the enter key (Keycode 13). What is supposed to happen is: you enter data into the userform textbox then select enter to transfer the data to a worksheet in 3 seconds (application ontime). If you select an image control on the userform before the 3 secs, then the data transfer is cancelled. This works. What doesn't work is if you again select enter before the 3 secs, the focus goes to the command button and runs that routine. So, how to keep the focus on the textbox so that only the textbox receives the keycode 13 input? I set up an empty wb with a Sheet1, a module1, and a userform1 with a command1, textbox1 and image1. The following code will demonstrate my frustrations. Thanks for any suggestions and assistance. Dave
module code...
Code:
Public StopCnt As Boolean, Cnt As IntegerPublic Sub update()
If Not StopCnt Then
Cnt = Cnt + 1
Sheets("sheet1").Range("A" & Cnt).Value = UserForm1.TextBox1.Text
UserForm1.TextBox1.Text = vbNullString
MsgBox "Update"
End If
End Sub
Userform code...
Code:
Private Sub CommandButton1_Click()
MsgBox "Command"
End Sub
Private Sub Image1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, _
ByVal X As Single, ByVal Y As Single)
StopCnt = True
UserForm1.TextBox1.Text = vbNullString
UserForm1.TextBox1.SetFocus
End Sub
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
Application.OnTime Now + TimeValue("00:00:03"), procedure:="update"
StopCnt = False
UserForm1.TextBox1.SetFocus
End If
End Sub