Für dieses Beispiel brauchen Sie eine Form, eine Textbox und zwei Commandbuttons.
Private iVal(10) As Integer
Private sVal(10) As String
Private Function SearchArr(ByRef sArray As Variant, ByVal searchFor As Variant) As Integer
Dim i As Integer
Dim temp As String
temp = TypeName(sArray)
If temp = "String()" Or temp = "Integer()" Or temp = "Long()" Or temp = "Date()" Then
For i = LBound(sArray) To UBound(sArray)
If sArray(i) = searchFor Then
SearchArr = i
Exit Function
End If
Next
SearchArr = -1
Else
For i = LBound(sArray) To UBound(sArray)
If Abs(sArray(i) - searchFor) < 0.0001 Then
SearchArr = i
Exit Function
End If
Next
SearchArr = -1
End If
End Function
Private Sub Command1_Click()
' nach Integerwert suchen
' Zahlen von 1 bis 10
Dim match As Integer
Dim iSearch As Variant
iSearch = Val(Text1.Text)
match = SearchArr(iVal, iSearch)
If match > -1 Then
MsgBox "Gefunden: " & iSearch & " auf Position: " & match
End If
End Sub
Private Sub Command2_Click()
' nach Stringwert suchen
' im Beispiel "Eintrag2" oder "Eintrag5"...
Dim match As Integer
Dim iSearch As Variant
iSearch = CStr(Text1.Text)
match = SearchArr(sVal, iSearch)
If match > -1 Then
MsgBox "Gefunden: " & iSearch & " auf Position: " & match
End If
End Sub
Private Sub Form_Load()
' Fülle ein Array mit beliebigem Material...
Dim i As Integer
For i = 0 To 10
iVal(i) = i + 1
Next
Dim s As Integer
For s = 0 To 10
sVal(s) = "Eintrag" & s
Next
End Sub