按下Enter键时如何防止光标移动到下一个文本框?

时间:2020-11-06 13:59:37

标签: excel vba keypress

当文本框为空并且按下Enter键时,我想防止光标移动到下一个文本框。假设我有两个文本框,即Textbox1和Textbox2,除非在Textbox1中没有输入任何内容,否则我要的是它,除非按下Enter键,否则不允许光标从Textbox1移至Textbox2。但是它应该允许使用鼠标或箭头键手动移动光标。希望它能解释一切。 我尝试关注,

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

    If Trim(Me.txtCode) = "" And KeyCode = 13 Then
        Me.txtCode.SetFocus
    End If

End Sub

但是不好

1 个答案:

答案 0 :(得分:2)

你很近。请尝试以下操作:

Private Sub txtCode_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
   If Trim(Me.txtCode) = "" And KeyCode = 13 Then
       KeyCode = 0
   End If
End Sub

将KeyCode设置为0可以有效地取消按键。