Clever-Excel-Forum

Normale Version: Fehlermeldung bei Makro Suchen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ich habe eine Datenbank mit 50 verknüpften Arbeitsblättern erstellt. Zum Auffinden von Daten soll mir ein Suchmakro helfen, daß folgendermaßen aussieht:
 

Code:
Sub Suchen()
Dim rng As Range
Dim sBegriff As String, sAddress As String
Sheets "Active Sheet".Select
sBegriff = InputBox( _
  prompt:="Bitte Suchbegriff eingeben:", _
  Default:="Hallo")
If sBegriff = "" Then Exit Sub
Set rng = Columns("C:C").Find( _
  What:=sBegriff, _
  LookAt:=xlPart, _
  LookIn:=xlValues, _
  MatchCase:=False, _
  After:=Cells(Rows.Count, 3))
If rng Is Nothing Then
  Beep
  MsgBox "Suchbegriff nicht gefunden!", , _
    Application.UserName
  Exit Sub
End If
sAddress = rng.Address
rng.Select
If (MsgBox(rng.Address(False, False), vbYesNo, "Weitersuchen?")) = vbYes Then
  rng.Offset(1).Select
  Do
    Columns("C:C").FindNext(After:=ActiveCell).Activate
    If ActiveCell.Address = sAddress Then Exit Sub
    If (MsgBox(ActiveCell.Address(False, False), vbYesNo, "Weitersuchen?")) = vbNo Then Exit Do
  Loop
End If
 
End Sub

 
Leider bekomme ich nur die Meldung, das nichts gefunden wurde.
Kann mir jemand helfen, das Makro zu berichtigen?
Hallo,

(17.04.2019, 07:26)entec schrieb: [ -> ]Leider bekomme ich nur die Meldung, das nichts gefunden wurde.

das glaube ich nicht, da es schon hier hakt:

Sheets "Active Sheet".Select

Gruß Uwe
Hi,

von mir auch mal so ins Blaue geraten: Ergibt der Parameter "after:=cells(rows.count,3)" überhaupt Sinn? Bedeutet das nicht, dass er in der letzten Zeile in Spalte C anfangen soll zu suchen? Fehlt dann nicht die Searchdirection?!

Gruß Tim
Hallo Tim,

das passt schon, weil ja standardmäßig nach unten gesucht wird. Von der letzten Zelle ausgehend fängt er (wieder) von oben an (einschließlich der ersten Zelle) zu suchen.

Gruß Uwe
Ooops - das hier ist das Makro was ich verwenden möchte:

Sub Auswahl()
       Dim rng As Range
       Dim sBegriff As String, sAddress As String
       sBegriff = InputBox( _
          prompt:="Bitte Suchbegriff eingeben:", _
          Default:="Hallo")
       If sBegriff = "" Then Exit Sub
       Set rng = Cells.Find( _
          what:=sBegriff, _
          lookat:=xlWhole, _
          LookIn:=xlValues, _
          MatchCase:=False, _
          after:=ActiveCell)
       If rng Is Nothing Then
          Beep
          MsgBox "Suchbegriff nicht gefunden!", , _
             Application.UserName
          Exit Sub
       End If
       sAddress = rng.Address
       rng.Select
       MsgBox rng.Address(False, False)
       rng.Offset(1).Select
       Do
          Cells.FindNext(after:=ActiveCell).Activate
          If ActiveCell.Address = sAddress Then Exit Sub
          MsgBox ActiveCell.Address(False, False)
       Loop
    
    End Sub


Hier bekomme ich die Meldung "Suchbegriff nicht gefunden". Was mache ich falsch?

Gruß Ralph
Hallo Ralph,

(17.04.2019, 16:50)entec schrieb: [ -> ]Hier bekomme ich die Meldung "Suchbegriff nicht gefunden". Was mache ich falsch?

wenn ich einen existierenden Suchbegriff eingebe, wird er bei mir mit Deinem Makro auch gefunden.

Gruß Uwe
Hallo,

normalerweise gehört es in die Threaderöffnung, nach welchem Datentype man sucht ... kann es sein, dass du nach einem Datum suchst ?
Hallo Sabina,

Zitat:Zum Auffinden von Daten soll


steht da doch.  :05:
Hallo Klaus-Dieter,

... Touché ... :17:
Hallo,

... prompt:="Bitte Suchbegriff eingeben:", _
         Default:="Hallo")
 :17:

Gruß Uwe