ActiveX 文本框,搜索输入的值
ActiveX Textbox, search for entered value
我有一个链接到单元格 D1 的 ActiveX 文本框。
我想用它来搜索输入到文本框中的任何值。
但是,如果我想在输入 P
后立即搜索 Peter
,它就会开始搜索,并且不会让我完成输入 eter
我希望能够键入,然后按 ENTER 键查找值。
这就是我要做的:
Private Sub TextBox1_Change()
Dim findval As String
findval = Range("D1").Value
Cells.Find(What:=findval, After:=ActiveCell, LookIn:=xlValues, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
End Sub
我做错了什么?
最好使用 KeyUp
事件,特别是 Enter 键:
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim findval As String
If KeyCode = vbKeyReturn Then
findval = Range("D1").Value
Cells.Find(What:=findval, After:=ActiveCell, LookIn:=xlValues, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
End If
End Sub
我有一个链接到单元格 D1 的 ActiveX 文本框。
我想用它来搜索输入到文本框中的任何值。
但是,如果我想在输入 P
后立即搜索 Peter
,它就会开始搜索,并且不会让我完成输入 eter
我希望能够键入,然后按 ENTER 键查找值。
这就是我要做的:
Private Sub TextBox1_Change()
Dim findval As String
findval = Range("D1").Value
Cells.Find(What:=findval, After:=ActiveCell, LookIn:=xlValues, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
End Sub
我做错了什么?
最好使用 KeyUp
事件,特别是 Enter 键:
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim findval As String
If KeyCode = vbKeyReturn Then
findval = Range("D1").Value
Cells.Find(What:=findval, After:=ActiveCell, LookIn:=xlValues, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
End If
End Sub