- 帖子
- 2
- 主題
- 2
- 精華
- 0
- 積分
- 5
- 點名
- 0
- 作業系統
- Window7
- 軟體版本
- Win7
- 閱讀權限
- 10
- 註冊時間
- 2017-8-15
- 最後登錄
- 2020-12-25
|
[發問] 請問要如何在combobox中利用"Enter"觸發事件
想要利用Combobox中輸入keyword來做搜尋的功能
視覺效果應該如下:
1. Combobox原先就有輸入數組資料, ex: Apple, Arrow, Aron....
2. 當Combobox中輸入一個字母,按下Enter後,下拉選單就只會剩下篩選過後的單字, ex: 輸入A,下拉選單就會出現Apple, Arrow, Aron;輸入Ar,下拉選單就會出現Arrow, Aron
由於Combobox會自動帶入符合第一個輸入的結果,所以我將MatchEntry屬性設為2, fmMatchEntryNone
我的程式碼如下 : 原本是利用dropbutton當作觸發搜尋的事件,但發現不太好用,當我不想要搜尋的時候依然會用到dropbutton,所以才想要改用Enter當作觸發搜尋的動作- 'Testing item serach in ComboBox
- Dim Testing() As String
- If Worksheets("map").ComboBox1.Text = "" Then
- Worksheets("map").ComboBox1.Clear '先清除已存在的內容
- Else
- item_tmp = Worksheets("map").ComboBox1.Value '抓取combobox中的keyword
- Item_end = Worksheets("result").Cells(1, 1).End(xlToRight).Column '輸入原本的Item
- ReDim Testing(Item_end)
- For m = 1 To Item_end
- Testing(m) = Worksheets("result").Cells(1, m)
- Next m
- For n = LBound(Testing) To UBound(Testing) 'Item和keyword比較,如有相近的則input到combobox中
- aa = item_tmp & "*"
- If Testing(n) Like aa Then
- tmp = Testing(n)
- Worksheets("map").ComboBox1.AddItem tmp
- Debug.Print tmp
- End If
- Next n
- End If
- End Sub
複製代碼 謝謝幫忙 |
|