关于按钮:使用VBA文本框中的Enter键调用宏

Using Enter key in VBA textbox to call macro

我在Excel工作表中有一个文本框。用户可以在框中输入文本,然后单击文本框旁边的"搜索"按钮以查找该文本。"搜索"按钮会调用一个宏。

我的问题是用户必须单击\\'Search \\'按钮才能运行宏,而我想选择在输入文本后仅按Enter键的选项。

是否可以将代码放入文本框,以便在用户按下\\'Enter \\'键时执行搜索宏?

我尝试使用以下代码无济于事。

1
2
3
4
5
6
7
Private Sub TextBox1_Change()

    If KeyCode = vbKeyReturn Then
        Call search
    End If

End Sub

搜索宏的代码(如果有帮助)是这样的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub search()

On Error GoTo Errmsg

Columns("A:B").Find(What:=Worksheets("Companies List").TextBox1.Value, _
After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).Activate

Exit Sub

Errmsg:
MsgBox"Text can't be found."

End Sub

预先感谢!


要获取特殊键的代码,请使用KeyDownKeyUp事件

1
2
3
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    if KeyCode = asc(vbCr) then call search
End Sub