Here is a complete example that you can modify for either a listbox or a combobox. Using SendMessage will be much faster that looping through the listbox or combobox.
VB Code:
Private Declare Function SendMessageString Lib "user32" Alias "SendMessageA" _
(ByVal hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As String) As Long
Private Const CB_FINDSTRINGEXACT = &H158
Private Const LB_FINDSTRINGEXACT = &H1A2
Dim lngRetVal As Long
lngRetVal = SendMessageString(MyListBox.hWnd, _
LB_FINDSTRINGEXACT, -1&, _
"string to find")
If lngRetVal > -1& Then
' It's already in the list and lngRetVal is the listindex
Else
MyListBox.Additem "string to find"
End If