yan2021
Goto Top

Die normale Excel-Suchfunktion in eine Zelle verknüpfen

Hallo Ihr Lieben,

ich möchte gerne in einer sehr großen Excel-Datei die normale Suchfunktion (Start / Suchen und Auswählen / Suchen...) in die Zelle H2 verlegen, damit man dort auf einen Link oder alternativ einen Button klicken kann, um die Suche zu öffnen.

In einer anderen Datei hatte ich auch mal mit Eurer Hilfe eine Suchfunktion implementiert.
Aber da sollte nur eine einzige Spalte durchsucht werden. Das funktioniert auch sehr gut.
Alternativ könnte man natürlich auch diesen Code für die neue (sehr große) Excel-Datei nutzen und ensprechend so anpassen, dass man alle 6 vorhandenen Spalten durchsuchen kann.

Hier der Code aus der anderen Excel-Tabelle:

Sub FilterList()
    'Variablen  
    Dim rngCurrent As Range, rngHide As Range, found As Boolean
    With ActiveSheet
        .UsedRange.EntireRow.Hidden = False
        ' Wenn Suchbegriff leer blende alle Zeilen wieder ein und beende Prozedur  
        If .Range("H2").Value = "" Then  
            Exit Sub
        End If
        ' Startbereich festlegen  
        Set rngCurrent = .Range("A5")  
        ' so lange verarbeiten bis Bereich am Ende angelangt ist  
        While rngCurrent.Address <> .Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Address  
            ' Wenn der Suchbegriff gefunden wurde (od. ein Teil des Suchbegriffes)  
            If rngCurrent.Value Like ("*" & .Range("H2").Value & "*") Then  
                found = True
                ' prüfe ob für den Bereich Untereinträge existieren  
                If rngCurrent.Offset(1, 0).Value <> "" Then  
                    ' verschiebe Zeile über den aktuellen Bereich hinaus damit er nicht ausgeblendet wird  
                    Set rngCurrent = rngCurrent.End(xlDown).Offset(1, 0)
                Else
                    ' keine Untereinträge  
                    Set rngCurrent = rngCurrent.Offset(1, 0)
                End If
            Else
                ' Suchbegriff in der Zeile nicht enthalten, kombiniere den Bereich in einer Variablen  
                ' um sie später auszublenden  
                If Not rngHide Is Nothing Then
                    Set rngHide = Union(rngHide, rngCurrent.EntireRow)
                Else
                    Set rngHide = rngCurrent.EntireRow
                End If
                Set rngCurrent = rngCurrent.Offset(1, 0)
            End If
        Wend
        ' Wenn der Suchbegriff gefunden wurde  
        If found Then
            ' blende die nicht zutreffenden Zellen aus  
            If Not rngHide Is Nothing Then rngHide.EntireRow.Hidden = True
        Else
            MsgBox "Kein Eintrag gefunden.", vbExclamation  
        End If
    End With
End Sub

Hier wird z.B. ab der Zelle "A5" nach unten gesucht... aber auch nur in der Spalte "A"

Welche der beiden Varianten ich nutze, ist im Grunde egal.
Wenn es mit dem hier einkopierten Code klappt (erweitert auf A5, B5, C5, D5, E5 und F5), dann wäre das auch OK.

Grüße von
Yan face-wink

Content-Key: 2308528473

Url: https://administrator.de/contentid/2308528473

Printed on: April 20, 2024 at 02:04 o'clock

Mitglied: 1915348599
1915348599 Mar 28, 2022 updated at 11:45:27 (UTC)
Goto Top
Selbst ist der Mann der Doku lesen kann
Range.Find-Methode (Excel)
Beispiele findest du am Ende, also ran an die Buletten und nicht gleich so faul ans Werk!
Member: Yan2021
Yan2021 Mar 28, 2022 updated at 12:06:36 (UTC)
Goto Top
@1915348599

danke für den Link...
Aber den überflüssigen Kommentar hättest ruhig für Dich behalten können. Solche Bezeichnungen wie "faul" haben hier nix verloren und das möchte ich auch sehr klar zurückweisen!! Diese ständigen "Foren-Erzieher" nerven hier mittlerweile bis zum Abwinken!!

Grüße,
Yan face-wink
Mitglied: 1915348599
1915348599 Mar 28, 2022 updated at 12:20:05 (UTC)
Goto Top
Diese ständigen "Foren-Erzieher" nerven hier mittlerweile bis zum Abwinken!!
Die Outsourcer, Copy n Paster und Freitagsfragensteller nicht weniger ...
Member: Yan2021
Yan2021 Mar 28, 2022 at 13:09:23 (UTC)
Goto Top
...und die, die den Sinn eines Forums offensichtlich noch nicht verstanden haben, werden immer dreister!!
Wenn es alle so machen wie Du, dann wird ein solches Forum eine riesige LINK-Sammlung!!
Was für ein Unsinn wäre das.

Und User hier als "faul" darzustellen verstößt auf jeden Fall gegen jegliche Netiquette!!
Genauso wie Deine weiteren Äußerungen von eben.

Daher schreibe mir bitte nicht mehr in meinen Threads... bitte 👍

Grüße,
Yan face-wink
Member: Yan2021
Yan2021 Mar 28, 2022 updated at 13:14:14 (UTC)
Goto Top
falls hier noch Jemand etwas zum Thema posten will......... sehr gerne 👌

Im Grunde steht der Code ja!!
Er müßte nur so angepasst werden, dass nicht nur in der Spalte "A" gesucht wird (also ab A5), sondern in Spalte A bis F.

Habe schon verschiedene Versuche unternommen... aber leider ohne Erfolg. Es musste immer debuggt werden.
Z.B. hatte ich in der Code-Zeile 13 statt "A" dann einfach "A:F" eingegeben oder auch "A:A,B:B,C:C,D:D,E:E,F:F". Funktionierte alles nicht...

Ist wahrscheinlich kein großer Akt (wenn man´s weiß...) 😁

Grüße von
Yan face-wink