Unten aufgeführtes Makro sucht über alle Tabellenblätter nach einem eingegebenen Begriff und markiert die gefundene Zelle farbig. Dann erfolgt eine Abfrage, ob man weitersuchen will. Hier mein erstes Problem: Drückt man nun auf "nein", so dass die Suche abbricht, wird die Farbe nicht rückgängig gemacht und die zuletzt gefundene Zelle bleibt farbig markiert. Wer kann mir das Makro so anpassen, dass es auch beim vorzeitigen Beenden der Suche, die zuletzt gefundene Zelle wieder farblos darstellt? Und mein zweites Problem ist: wie lasse ich das Makro nur in einem bestimmten Zellbereich (z.B. B1:B100) suchen?. Vielen vielen Dank für Eure Hilfe. Ich tüftle jetzt einfach schon zu lange ;-)
Gruss Dana
Sub Suchen_alle_Tab()
Dim wks As Worksheet
Dim rng As Range
Dim strSuch As String
Dim strAddress As String, strFind As String
strFind = InputBox("Bitte Suchbegriff eingeben:", Application.UserName, strSuch)
If strFind = "" Then Exit Sub
For Each wks In Worksheets
Set rng = wks.Cells.Find(strFind, lookat:=xlPart, LookIn:=xlFormulas)
If Not rng Is Nothing Then
strAddress = rng.Address
Do
Application.Goto rng, False
Selection.Interior.ColorIndex = 40
If MsgBox("Weiter", vbYesNo + vbQuestion) = vbNo Then Exit Sub
Selection.Interior.ColorIndex = xlNone
Set rng = Cells.FindNext(After:=ActiveCell)
If rng.Address = strAddress Then Exit Do
Loop
End If
Next wks
strSuch = strFind
MsgBox "Dokument wurde durchsucht!", False, Application.UserName
Selection.Interior.ColorIndex = xlNone
End Sub