Microsoft Excel

Herbers Excel/VBA-Archiv

Makro Suchfunktion


Betrifft: Makro Suchfunktion
von: Ralph Klaar
Geschrieben am: 15.04.2019 12:07:41

Hallo,

ich möchte für eine umfangreiche Datenbank einen Suchbutton verwenden. Leider funktioniert das Makro nicht mit den folgenden Eintrag:

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

Ich wäre dankbar für einen funktionierenden Hinweis. Danke im Voraus.
Grüße
Ralph

  

Betrifft: AW: Makro Suchfunktion
von: Daniel
Geschrieben am: 15.04.2019 12:23:24

HI
Was heißt: "funktioniert nicht"?
kannst du das ein bisschen detaillierter beschreiben, wie sich dieses "funktioniert nicht" bemerkbar macht?
"funktioniert nicht" ist als Problembeschreibung für einen Helfer ungefähr so hilfreich wie "machs anders" als Antwort für den Fragesteller.

Gruß Daniel


  

Betrifft: AW: Makro Suchfunktion
von: Ralph Klaar
Geschrieben am: 15.04.2019 14:10:17

Oops - Funktioniert nicht in dem Fall heißt: nach Eingabe eines Suchbegriffs erhalte ich die Meldung "Suchbegriff nicht gefunden".
Ich hoffe das hilft.


  

Betrifft: AW: Makro Suchfunktion
von: Daniel
Geschrieben am: 15.04.2019 14:23:06

Hi
das Marko funktioniert prinzipiell bei mir.
Wenn die Fehlermeldung kommt, hast du einen Begriff eingegeben, der in der Tabelle nicht vorkommt.
hast du vielleicht irgendwelche führenden oder folgenden Leerzeichen übersehen?
bei der Sucheinstellung LookAt:=xlwhole musst du ja den vollständigen Zelltext eingeben, um einen Treffer zu bekommen. Ggf hier mal auf LookAt:=xlPart umstellen und prüfen, ob du damit einen besseren Treffer bekommst.

manchmal kommt es bei Datenimporten auch vor, dass diese statt dem normalen Leerzeichen (ASCII: 32) das geschützte Leerzeichen (ASCII 160) enthalten, was einem so beim draufschauen natürlich nicht auffällt.


gibst du die Suchbegriffe von Hand ein? Kopier doch mal einen vorhandenen Zellwert und füge dieses als Suchbegriff ein, der müsste ja gefunden werden.

Wenns immer noch nicht geht, müsste man sich mal deine Daten anschauen, das Makro ist ansich korrekt.

Wobei du hier nichts anderes machst, als die Excelmenüfunktion SUCHEN mit der Option ALLE SUCHEN nachzuprogrammieren.
Teste doch erstmal mit der Menüfunktion, ob deine Suchbegriffe überhaupt vorhanden sind.

Gruß Daniel


  

Betrifft: AW: Makro Suchfunktion
von: Ralph Klaar
Geschrieben am: 15.04.2019 16:06:30

Ich bedanke mich für die Hinweise