ich habe folgendes Problem. Ich frage einen Begriff ab, nach dem in einer Arbeitsmappe gesucht werden soll. Wenn der Begriff gefunden wurde, wird das Arbeitsblatt geöffnet und die "Trefferzelle" markiert. Dann wird achgefragt, ob weiter gesucht werden soll oder nicht. Bis dahin funktioniert es. Allerdings habe ich das Problem, dass einmal nachgefragt wird, wenn dann mit 'Ja' bestätigt wird, wird die nächste Zelle mit dem Suchberiff markiert (Beim Test im gleichen Arbeitsblattt). Der nächste Treffer wäre im nächsten Arbeitsblatt. Wenn man nun wieder die Frage nach weitersuche mit 'Ja' bestätigt, passiert nichts weiter. Eigentlich müsste das nächste Arbeitsblatt geöffnet werden, aber das geschieht nicht. Ein Teil des Codes habe ich unten mal angefügt. Würde mich freuen, wenn jemand Rat weiß.
Vielen Dank.
Gruß
Sven
Private Sub Suchroutine(strSuchtext As String, strErsteFundstelle As String,
objBlatt As Worksheet, objZelle As Range, objSuchKatalogblatt As Worksheet)
'Dim objBlatt As Worksheet
'Dim objSuchKatalogblatt As Worksheet
'Dim objZelle As Range
'Dim objZeile As Range
'Dim strErsteFundstelle As String
Dim intButton As Integer
Dim objForm As UserForm
'Verwendeten Bereich jedes Blatts durchsuchen
With objBlatt.UsedRange
Do
'Blatt mit erster Fundstelle aktivieren
objBlatt.Activate
'Fundstelle markieren
objZelle.Select
''End Sub
'Anwender fragen, ob Suche fortgesetzt werden soll
intButton = MsgBox("Weiter suchen?", vbQuestion + vbYesNo, APP_NAME)
'Wenn Antwort nicht 'Ja' (NEIN) lautet, dann...
If intButton vbYes Then
'Fragen, ob das Suchkatalogblatt geöffnet werden soll
intButton = MsgBox("Das Suchkatalogblatt öffnen?22", vbQuestion + vbYesNo, APP_NAME)
'Wenn die Antwort nicht 'Ja' (NEIN) lautet, dann...
If intButton vbYes Then
'Infofenster mit "Suche beendet!" öffnen und...
MsgBox "Suche beendet3!", vbInformation, APP_NAME
'...Makro beenden
Exit Sub
Else
'Suchkatalogblatt aktivieren
objSuchKatalogblatt.Activate
'Makro beenden
Exit Sub
End If
End If
'Nach nächstem Vorkommen suchen
Set objZelle = .FindNext(objZelle)
'Schleife wiederholen solange weitere Fundstellen auftauchen und erste Fundstelle noch nicht erreicht
Loop While Not objZelle Is Nothing And objBlatt.Name & "!" & objZelle.Address strErsteFundstelle
End With
End Sub