【问题标题】:Using Enter key in VBA textbox to call macro在 VBA 文本框中使用 Enter 键调用宏
【发布时间】:2017-09-29 09:20:18
【问题描述】:

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

我的问题是用户必须单击“搜索”按钮才能运行宏,而我希望在输入文本后选择只按 Enter 键。是否可以将代码放入文本框中,以便在用户按下“Enter”键时执行搜索宏?

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

Private Sub TextBox1_Change()

    If KeyCode = vbKeyReturn Then
        Call search
    End If

End Sub

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

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

提前致谢!

【问题讨论】:

    标签: vba button


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-18
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-08
      相关资源
      最近更新 更多