nachfolgender Code funktioniert unter Excel 2000 problemlos, d.h. der Suchwert wird gefunden. Unter Excel 2003 erhalte ich jedoch in der Zeile "Set Zelle = .Range(..." die Fehlermeldung "Laufzeitfehler Nr. 9 - Index außerhalb des gültigen Bereichs". Die Tabelle "Januar" ist natürlich vorhanden. Ich kann aber keinen Fehler finden. Kann mir jemand sagen, warum der Code an dieser Stelle nicht funktioniert?
Code:
Sub Test_suche()
Dim wks As Worksheet
Dim Zelle As Range
Dim Endezeile As Long
Dim strSuchbereich As String
Dim Suchwert As Long
Set wks = ActiveWorkbook.Sheets("Januar")
Endezeile = 150 'wird normalerweise im Code dynamisch bestimmt
strSuchbereich = "A22:A" & CStr(Endezeile)
Suchwert = 110
With wks
.Unprotect
.Activate
Set Zelle = .Range(strSuchbereich).Find(What:=Suchwert, LookIn:=xlValue, LookAt:=xlWhole)
If Not Zelle Is Nothing Then
MsgBox "Eintrag wurde gefunden"
'code der bei gefundenem Wert ausgeführt wird
End If
.Protect
End With
End Sub
Danke für hilfreiche Beiträge.
Gruß Nils