Wert in zweidimensionelem Array suchen
24.12.2003 14:17:47
Lupus
folgends Makro (Index 078099) gibt die "Zeilenposition" des gesuchten Strings innerhalb eines Arrays zurück:
Sub Durchsuchen()
Dim arr As Variant
Dim iRow As Integer
arr = Range("A1:A16") '"Irgendwas" steht in Zelle A8
iRow = Application.Match("Irgendwas", arr, 0)
If Err > 0 Then
MsgBox "Nicht gefunden"
Else
MsgBox "An " & iRow & " .Stelle gefunden"
End If
End Sub
Wenn jedoch das Array aus dem Bereich Range("A1:E16") besteht und der zusuchende Begriff "Irgendwas" ursprünglich in Zelle E10 befand, kommt es zu einem Laufzeitfehler 13 (Typen unverträglich).
Der Code sieht jetzt folgendermaßen aus:
Sub Durchsuchen()
Dim arr As Variant
Dim iRow As Variant
arr = Range("A1:D16")
iRow = Application.Match("Irgendwas", arr, 0) 'Laufzeitfehler 13
If Err > 0 Then
MsgBox "Nicht gefunden"
Else
MsgBox "An " & iRow & " .Stelle gefunden"
End If
End Sub
Wie müßte der Code richtig lauten?
Was sagt das 3. Argument von macht aus? Habe in der Windowshilfe nichts gefunden.
Gruß Lupus