Board logo

標題: [發問] 請問要如何在combobox中利用"Enter"觸發事件 [打印本頁]

作者: Ataru    時間: 2018-3-27 16:55     標題: 請問要如何在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當作觸發搜尋的動作
  1. 'Testing item serach in ComboBox
  2. Dim Testing() As String

  3. If Worksheets("map").ComboBox1.Text = "" Then
  4.     Worksheets("map").ComboBox1.Clear '先清除已存在的內容
  5. Else
  6.     item_tmp = Worksheets("map").ComboBox1.Value '抓取combobox中的keyword

  7.     Item_end = Worksheets("result").Cells(1, 1).End(xlToRight).Column '輸入原本的Item
  8.     ReDim Testing(Item_end)
  9.     For m = 1 To Item_end
  10.         Testing(m) = Worksheets("result").Cells(1, m)
  11.     Next m

  12.     For n = LBound(Testing) To UBound(Testing) 'Item和keyword比較,如有相近的則input到combobox中
  13.         aa = item_tmp & "*"
  14.         If Testing(n) Like aa Then
  15.             tmp = Testing(n)
  16.             Worksheets("map").ComboBox1.AddItem tmp
  17.             Debug.Print tmp
  18.         End If
  19.     Next n
  20. End If


  21. End Sub
複製代碼
謝謝幫忙




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)