|  
                                             
	Mein lieber megawunk, 
	erstmals solltest du Gast01234 danken, dass er dir die Struktur deines Codes so deutlich aufzeigt. 
	Dann erkennt man(n) selbst ohne große Kenntnis, wo die logischen Löcher und warum du Cancel 
	ohne Yes nie erreichst. 
	 
	NoBody Is Perfect, man(n) kann es eben keinem Recht machen, aber versuche es einmal so 
	 
	Schönes Wochenende 
	 
	Gast43210 
Option Explicit
'Suchbegriff
'Arbeitsblatt wo gestartet
'Für gewöhnlich Suche im Kreis, d.h. ab ActiveSheet ans Ende und dann ab Anfang
'Kein Treffer = Abfrage Neuer Begriff / Ende
'Treffer =
'Abfrage weitere Suche
'= wenn JA      - weitere Suche
'               - im aktuellen Arbeitsblatt
'               - nächste Blätter
'= wenn Nein    - Treffer bleibt Aktiv
'= wenn Abbruch - Zurück in Start Arbeitsblatt
Sub MeineSuche()
Dim x As Long, start As Long              'index of worksheet
Dim SSearch As String
Dim c As Range, fa As String
Dim Flag As Boolean
GoOn:
   SSearch = InputBox("Suchen nach:", "Stichwort-Suche / Suchfunktion", SSearch)
   If SSearch = "" Then End
   
   start = ActiveSheet.Index: x = start
   Do
      
      With Sheets(x)
         Set c = .Cells.Find(SSearch, LookIn:=xlValues, MatchCase:=False)
         If Not c Is Nothing Then
            Flag = True
            Sheets(x).Activate
            fa = c.Address
            Do
               c.Activate
               Select Case MsgBox("Weitersuchen?", vbQuestion + vbYesNoCancel, "")
                  Case vbYes
                     Set c = .Cells.FindNext(c)
                  Case vbNo
                     End
                  Case vbCancel
                     Select Case MsgBox("Neue Suche?", vbInformation + vbYesNo, "")
                        Case vbYes
                           GoTo GoOn
                        Case vbNo
                           GoTo NoGo
                        Case Else
                           GoTo Break
                     End Select
                  Case Else
                     GoTo Break
               End Select
            Loop While Not c Is Nothing And c.Address <> fa
         End If
      End With
      
      x = IIf(x + 1 > Sheets.Count, 1, x + 1)
      If x = ActiveSheet.Index Then Exit Do
      
   Loop
NoGo:
   Sheets(start).Activate
   If Flag = False Then Call MsgBox(SSearch & " nicht gefunden", vbExclamation, "")
   If MsgBox("Suche wiederholen?", vbInformation + vbYesNo, "") = vbYes Then GoTo GoOn
   
Break:
End Sub
	  
     |