作者:绿色风
分类:
时间:2022-08-17
浏览:115
楼主 amulee |
Q:如何实现文本框内按方向键选择列表框的选项? A:这个功能在很多软件内都有,在文本框内输入关键字进行模糊查询,可以直接利用方向键来选择列表框中的查询结果,按回车后可以直接完成输入。这样可以提高输入速度。 如动画所示:
代码参考如下:- Private Sub CommandButton1_Click()
- Application.ActiveCell = ListBox1.List(ListBox1.ListIndex)
- Application.ActiveCell.Offset(1, 0).Activate
- TextBox1.SetFocus
- TextBox1.Text = ""
- End Sub
- '变化
- Private Sub TextBox1_Change()
- Dim KeyWd$, ArrYS
- KeyWd = TextBox1.Text
- If KeyWd = "" Then Exit Sub
- ArrYS = Sheet2.Range("A1:A38")
- With ListBox1
- '清空
- .Clear
- For i = 1 To UBound(ArrYS)
- If ArrYS(i, 1) Like KeyWd & "*" Then
- .AddItem ArrYS(i, 1)
- End If
- Next i
- If .ListCount > 0 Then
- '选中第一项
- .ListIndex = 0
- End If
- End With
- End Sub
- '在文本框内直接按上下键移动选择项
- Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
- Select Case KeyCode
- Case vbKeyUp
- With ListBox1
- If .ListIndex > 0 Then .ListIndex = .ListIndex - 1
- End With
- Case vbKeyDown
- With ListBox1
- If .ListIndex < .ListCount - 1 Then .ListIndex = .ListIndex + 1
- End With
- End Select
- End Sub
- Private Sub UserForm_Initialize()
- CommandButton1.Default = True
- End Sub
模糊查询中Textbox和Listbox联动.rar |
2楼 亡者天下 |
挖宝来了!
|
3楼 纵鹤擒龙水中月 |
学习了 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一