Excel VBA Suchfunktion- Objektvariable nicht festg
14.07.2016 19:33:01
MS
ich habe bei Google ein VBA Script gefunden, welches eine Suchfunktion bietet.
Funktioniert super, nur dass, wenn die Suche erfolgreich war, immer diese Fehlermeldung angezeigt wird:
"Objektvariable oder With Blockvariable nicht festgelegt"
Ich suche mit diesen Script alle Tabellenblätter nach Nummern. Ist die Nummer gefunden, springt der Cursor dorthin. Funktioniert, aber nur kriege ich die Fehlermeldung nicht weg.
Ich habe diesen Code in das Tabellenblatt (ALT+F11) hinterlegt, in dem auch das Suchfeld ist. In diesen Tabellenblatt habe ich dort ein Entwicklertool (Button) eingefügt, der auf dieses Makro verweist.
Ich benutze Excel 2016.
Ich stell hier mal den Code rein:
Vielen Dank schon mal im Vorraus!
Option Explicit
Dim nummer As String
Dim sht As Worksheet
Dim Found As Range
Dim FirstAddress As String
Dim Zähler As Long
Dim xy As Long
Sub suchen_Mappe()
Sheets(1).Select
Zähler = 0
nummer = InputBox("Bitte geben Sie die nummer ein:" & Chr(13) & Chr(13) _
& "B bitte weglassen!", "Suche im Blatt", "")
If StrPtr(Inventarnummer) = 0 Then
Exit Sub
Else
If nummer = "" Then
Select Case MsgBox("Sie haben nichts eingegeben !", vbRetryCancel Or vbExclamation Or vbDefaultButton1, "nummer fehlt")
Case vbRetry
Call suchen_Mappe
Case vbCancel
Exit Sub
End Select
Else
End If
End If
For Each sht In Worksheets
sht.Activate
Set Found = sht.Cells.Find(Inventarnummer)
If Not Found Is Nothing Then
FirstAddress = Found.Address
Do
Found.Activate
Zähler = 1
Set Found = Cells.FindNext(After:=ActiveCell)
If Found.Address = FirstAddress Then Exit Do
Loop
End If
Next sht
If ActiveSheet.Index = Sheets.Count And Zähler GoTo Err
Else
Select Case MsgBox("Der gesuchte Wert ist gefunden" _
& vbCrLf & "" _
& vbCrLf & "Weitere suche ?" _
, vbYesNo Or vbInformation Or vbDefaultButton1, "Suchen in Mappe")
Case vbYes
Call suchen_Mappe
Case vbNo
Exit Sub
End Select
Exit Sub
End If
Err:
Select Case MsgBox("Der gesuchte Begriff wurde nicht gefunden." _
& vbCrLf & "Wollen Sie noch einmal suchen." _
, vbRetryCancel Or vbInformation Or vbSystemModal Or vbDefaultButton1, "Suche im Mappe")
Case vbRetry
Call suchen_Mappe
Case vbCancel
Exit Sub
End Select
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub