Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1908to1912
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Suchfilter in einem Tabellenblatt

Suchfilter in einem Tabellenblatt
07.12.2022 18:31:52
Koepi
Guten Abend liebes Forum,
ich bin Vba Anfänger und noch ehrgeizig am Lernen.
Leider scheitere ich schon am Suchen und Zeilen anzeigen.
Ich möchte euch bitten mir ein wenig auf die Sprünge zu helfen.
Folgendes Problem habe ich:
Ich habe ein Liste mit Spalten von A bis R.
In diesem Bereich soll über eine Textfeld eine Eingabe gesucht werden.
Die Textfeldeingabe kann alles enthalten.
Es sollen dann alle Zeilen angezeigt werden die die Eingabe im Textfeld beinhalten.
Viele Grüße
Kay

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchfilter in einem Tabellenblatt
07.12.2022 19:52:33
Marc
Ich würde das wohl persönlich mit einer verschachtelten For schleife machen..
und dann jeden Treffer in einen String addierend festhalten und entsprechend ausgeben am Ende..

dim suche as String
dim treffer as string
dim i as Long, j as Integer ' Schleifenvariablen
suche = InputBox("Bitte Suchkriterium angeben")
treffer = "Folgende Treffer wurden gefunden: "
For i = 1 To 320000 'oder wieviele Zeilen vorhanden sind
For j = 1 To 26 'wenn Z die letzte Spalte wäre
If Sheets("Tabelle1").Cells(j,i) = suche Then
treffer = treffer & "Zelle: " & j & "," & i & ", "
End If
next j
next i
MsgBox treffer , vbOKOnly
Das ist nur eine von vielen Möglichkeiten, es geht natürlich auch mit anderen Varianten, da muss jeder für sich entscheiden, welcher Weg ihm am liebsten ist
Bei der obrigen Variante ist noch nicht eingepflegt, dass der Benutzer gar nichts als Suchkriterium einträgt (also leer String) und das, wenn zu viele Treffer vorhanden sind, die MsgBox nicht ausreicht..
Anzeige
AW: Suchfilter in einem Tabellenblatt
07.12.2022 20:02:08
Yal
Hallo Kay,
Find hat in der Online-Hilfe 2 Treffer. Der, den Du brauchst, ist:
https://learn.microsoft.com/de-de/office/vba/api/excel.range.find
Leider sind die Beispiel dort fehlerhaft. Der Abschluss der Loop While sollte mit der Gleichheit der Treffer mit der "FirstAddress" ermittelt werden:

Sub test()
Msgbox "Treffer: " & AlleWerte_suchen (1)
End Sub
Function AlleWerte_suchen(Wert)
Dim c As Range
Dim firstAddress As String
Dim ErgListe As String
With Worksheets(1).Range("A1:A500")
Set c = .Find(Wert, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
ErgListe = ErgListe & ";" & c.Address(0, 0)
Set c = .FindNext(c)
Loop While c.Address  firstAddress 'Wenn der Treffer wieder die erste Adresse ist, ist alles durchgesucht worden
End If
End With
AlleWerte_suchen = Mid(ErgListe, 2) 'ohne den führende Semikolon
End Sub
VG
Yal
Anzeige
AW: Suchfilter in einem Tabellenblatt
09.12.2022 09:42:26
Steffen
Um in Excel nach einer bestimmten Zeichenfolge in einem Bereich von Spalten zu suchen und die entsprechenden Zeilen anzuzeigen, können Sie die folgenden Schritte ausführen:
Öffnen Sie die Arbeitsmappe, in der sich der Bereich befindet, den Sie durchsuchen möchten.
Klicken Sie auf die Registerkarte "Entwicklertools" und wählen Sie dann im Menü "Makros" die Option "Makro aufzeichnen" aus.
Geben Sie im Dialogfeld "Makro aufzeichnen" einen Namen für das Makro ein und klicken Sie auf "OK".
Markieren Sie den Bereich, in dem Sie nach der Zeichenfolge suchen möchten.
Klicken Sie im Menü "Start" auf die Schaltfläche "Suchen & Auswählen" und wählen Sie dann die Option "Erweiterte Suche" aus.
Im Dialogfeld "Erweiterte Suche" geben Sie in das Feld "Suchen nach" die Zeichenfolge ein, nach der Sie suchen möchten. Wählen Sie im Dropdown-Menü "Suchen in" den Bereich aus, in dem Sie suchen möchten, und aktivieren Sie das Kontrollkästchen "Erweiterte Suche".
Klicken Sie auf die Schaltfläche "Erweiterte Suche". Im Dialogfeld "Erweiterte Suche" werden die Zeilen angezeigt, die die Zeichenfolge enthalten.
Klicken Sie im Dialogfeld "Erweiterte Suche" auf die Schaltfläche "Schließen".
Klicken Sie im Menü "Makros" auf die Schaltfläche "Makro aufzeichnen beenden", um das Makro zu beenden.
Sobald das Makro aufgezeichnet wurde, können Sie es jederzeit ausführen, um nach der Zeichenfolge in dem Bereich zu suchen und die entsprechenden Zeilen anzuzeigen.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige