Author : Dipen Anovadia
Date Submitted : 12/18/2005
Category : Other
Compatibility : VB 6,VB 4/32
This code has been accessed 3707 times.
Task : ListIndex (ListBox OR ComboBox) from ItemData
Declarations
Code
Public Function IndexFromItemData(lo As Object, ItemData As Long, Optional Start As Long = 0, Optional Finish As Long = -1, Optional lReturnError As IFID_RETURN = IFID_NOERROR) As Long
On Error GoTo errIFID
Dim i As Integer
Dim lCount As Long
Dim iStep As Integer
IndexFromItemData = -1
If Not (TypeOf lo Is ListBox Or _
TypeOf lo Is ComboBox) Then
lReturnError = IFID_ERR_OBJ
Exit Function
End If
lCount = lo.ListCount
If lCount = 0 Then
lReturnError = IFID_ERR_EMPTYLIST
Exit Function
End If
iStep = 1
If Start >= lCount Then
If Finish < Start And Finish <= lCount Then
iStep = -1
Else
lReturnError = IFID_ERR_INPUT
Exit Function
End If
Else
If Finish = -1 Then Finish = lCount
'If Finish < Start < lCount Then iStep = -1
If Finish < Start Then iStep = -1 Else iStep = 1
End If
For i = Start To Finish Step iStep
If lo.ItemData(i) = ItemData Then
IndexFromItemData = i
Exit Function
End If
Next i
Exit Function
errIFID:
lReturnError = IFID_ERR_UNKNOWN
IndexFromItemData = -1
'ShowError
End Function
'Please tell me about Bugs, comments, feedbacks, etc, if any...
'Example:
'Sub SelectItemData3()
' 'List1/Combo1
' Dim lIndex As Long
' lIndex = ItemFromIndexData(List1, 3)
' If lIndex > -1 then List1.ListIndex = lIndex
'End Sub