回答
我會用這樣的假設「近似匹配」是:a)不區分大小寫,和b)只需要搜索字符串是Range
值內某處試試這個代碼UserForm
內:
Option Explicit
Private Sub CommandButton1_Click()
Dim rngSource As Range
Dim rngCell As Range
Dim strValueToApproximatelyMatch As String
Dim lngCounter As Long
Dim lngResultCount As Long
'get candidate values and put to an array
Set rngSource = Sheet1.Range("A2:A10")
'get value to match approximately
strValueToApproximatelyMatch = Me.TextBox1.Value
'clear combo box
Me.ComboBox1.Clear
'set result count to 0
lngResultCount = 0
'iterate array and look for approximate match to input
For lngCounter = 1 To rngSource.Rows.Count
'get candidate
Set rngCell = rngSource.Cells(lngCounter, 1)
'test candidate against value to approximately match
If InStr(1, rngCell.Value, strValueToApproximatelyMatch, vbTextCompare) > 0 Then
'add to list if test passed
Me.ComboBox1.AddItem rngCell.Value
'increment result count
lngResultCount = lngResultCount + 1
End If
Next lngCounter
'add the no match if result count =0
If lngResultCount = 0 Then
Me.ComboBox1.AddItem "No Match"
End If
End Sub
這是輸出我得到:
非常感謝!就像一個魅力..至於找不到匹配,可能我可以計數的CombBox值,將返回一個不匹配,如果計數爲0 .. – user2458552
@ user2458552 - 我更新了'不匹配'位的示例代碼 - 猜你可以使用ComboBox中的項目數 - 但我只是創建了一個單獨的計數器。相同的區別:) –
非常感謝!那完美的作品 – user2458552
- 1. VLOOKUP返回多個匹配
- 2. 暗號不返回行與多個組合匹配聲明
- 3. 當INDEX MATCH有多個匹配時返回最近的日期
- 4. 返回最接近的匹配對象
- 5. 近似字符串匹配
- 6. SQL查找近似匹配
- 7. 子查詢返回多列 - 或近似近似
- 8. javascript中最接近匹配的返回數組項目
- 9. Urlrewriter.net匹配規則將返回到多
- 10. 組合Excel中的多個匹配值
- 11. 給一個數字返回Enum的近似值?
- 12. EXCEL VBA組合框匹配
- 13. 返回匹配條件組
- 14. Python將多個返回值分配給多個列表
- 15. 比較兩個二進制數組與閾值(近似匹配)
- 16. 將數值分配給加載的多列組合框vba
- 17. SQL:以多個匹配返回記錄
- 18. regexec不會返回多個匹配
- 19. 返回多個匹配結果
- 20. VLOOKUP匹配返回多個值
- 21. 與RoboBrowser/BeautifulSoup返回多個匹配
- 22. 索引/匹配返回多個值
- 23. 根據多維數組中的匹配值返回一個值
- 24. 在excel vba中返回多個匹配的數組
- 25. R和列名中的近似匹配
- 26. 檢查近似匹配的文本
- 27. Excel的近似文本匹配
- 28. Ruby中的近似字符串匹配
- 29. 近似匹配(all.equal的模擬相同)?
- 30. 語音xml中的近似匹配
如果你在A列有'zVariable' - 應該出現在ComboBox? –
也是組合框的窗體或ActiveX控件?它是在工作表上還是在用戶窗體上? –
@Robin - 它在用戶窗體上。只有近似匹配出現在組合框中,無論我們在文本框中搜索什麼。 – user2458552