ListBoxFindString – Search an item in a ListBox or ComboBox control

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal _    hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _    lParam As Any) As LongConst LB_FINDSTRING = &H18FConst LB_FINDSTRINGEXACT = &H1A2Const CB_FINDSTRING = &H14CConst CB_FINDSTRINGEXACT = &H158' Find a string in a ListBox or ComboBox control' Returns the index of the match, or -1 if not found.'' The third argument is the index *after* which to start the search (first item ' if omitted).' If the fourth argument is True it searches for an exact match.Function ListBoxFindString(ctrl As Control, ByVal search As String, _    Optional startIndex As Long = -1, Optional ExactMatch As Boolean) As Long    Dim uMsg As Long    If TypeOf ctrl Is ListBox Then        uMsg = IIf(ExactMatch, LB_FINDSTRINGEXACT, LB_FINDSTRING)    ElseIf TypeOf ctrl Is ComboBox Then        uMsg = IIf(ExactMatch, CB_FINDSTRINGEXACT, CB_FINDSTRING)    Else        Exit Function    End If    ListBoxFindString = SendMessage(ctrl.hWnd, uMsg, startIndex, ByVal search)End Function

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: