Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Suchen nach... nur entspr. Zeilen anzeigen

Suchen nach... nur entspr. Zeilen anzeigen
01.11.2007 14:35:07
Luftibus
Hallo geschätze Excel-Gurus
ich benötige in einer Tabelle eine Befehlsschaltfläche, die folgendes auslöst:
- Aufforderung einen Suchbegriff einzugeben (kann ich lösen)
- nur diejenigen Zeilen welche eine Zelle enthalten, in der der gesuchten String vorkommt,
sollen nun angezeigt werden (ohne die anderen Zeilen dauerhaft zu löschen).
Alternativ könnten die Zeilen auch farbig markiert werden.
Ist das überhaupt möglich?
Im voraus herzlichen Dank für eure Unterstützung!
Gruss Luftibus

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchen nach... nur entspr. Zeilen anzeigen
01.11.2007 14:53:00
Daniel
Hi
möglich ist das schon, aber ohne VBA bleibt dir da nur die bedinge Formatierung:
- betroffene Zellen markieren
- folgende Formel bei bedingter Formatierung eingeben:

=ZÄHLENWENN(INDEX($1:$65536;ZEILE(););$A$1)>0


- Schöne Farbe aussuchen
- Suchtext in Zelle A1 eingeben
wenn du den Suchtext einfach so eingibst, muß die Zelle genau dem Text entsprechen.
wenn der Suchtext nur in der Zelle enthalten sein muss, kannst musst du ihn mit den Platzhaltern * am Anfang und Ende eingeben.
Gruß, Daniel

Anzeige
AW: Suchen nach... nur entspr. Zeilen anzeigen
01.11.2007 15:11:05
Luftibus
Hallo Daniel
herzlichen Dank für deine Rückmeldung!
Händisch scheint mir das etwas gar aufwändig zu sein - ich warte lieber auf eine VBA-Lösung!
Gruss Luftibus

AW: Suchen nach... nur entspr. Zeilen anzeigen
01.11.2007 15:19:35
Daniel
Hi
wieso aufwendig?
die bedingte Formatierung musst du nur einmal einrichten.
danach kannst du dann beliebige Werte in A1 eingeben (meinetwegen auch über die Textbox) und die Zellen werden sofort farbig markiert.
A1 wieder leeren, und die Markierung ist sofort wieder in allen Zellen weg.
schneller und einfacher wirst du es per VBA kaum hinbekommen.
Gruß, Daniel

Anzeige
AW: Suchen nach... nur entspr. Zeilen anzeigen
01.11.2007 15:40:48
Luftibus
Hallo Daniel
natürlich hast du schon recht - ich habe deine Worte "betroffene Zellen markieren" falsch interpretiert.
Ich kann mit deiner Lösung leben - vielen Dank!!!
Wäre aber trotzdem interessant, mittels VBA nur die betroffenen Zeilen anzeigen zu lassen.....
Herzliche Grüsse
Luftibus

Anzeige
AW: Suchen nach... nur entspr. Zeilen anzeigen
01.11.2007 16:08:23
Daniel
Hi
auch das geht ohne VBA sehr schnell, da muß ein VBA-Programmierer schon etwas nachdenken, oder eben diese Aktion per VBA nachstellen:
- Hilfsspalte A einfügen
- in diese Hilfsspalte ab Zeile 2 folgende Formel eintragen und soweit wie nötig nach unten kopieren (Zeile 1 ist Überschrift)

= Zählenwenn(B2:IV2;"DeinSuchbegriff")


- Autofilter setzen und in der Hilfsspalte A nach >0 filtern
auch hier bist du ohne VBA sehr schnell, wenn du dieser Hilfstspalte fest einrichtest (ggf auch mit Zellbezug für den Suchbegriff).
ein klassisches Anfängermakro, daß die Zellen in einer Schleife durchsucht ist idR immer langsamer als das und auch vom Programmieraufwand (benötigte Zeilen) höher, als wenn du diesen Weg per VBA nachbaust.
Gruß, Daniel

Anzeige
AW: Suchen nach... nur entspr. Zeilen anzeigen
01.11.2007 15:41:31
Gerd
Hallo Luftikus,
auf die Schnelle, sucht den gesamten Zelleninhalt.

Private Sub CommandButton1_Click()
Dim Rng As Range, rngGef As Range, strFirstAddress As String, strF As String
Set Rng = ActiveSheet.UsedRange
Rng.Cells.Interior.ColorIndex = xlNone
strF = InputBox("Suchbegriff?", vbOKOnly)
If strF = Empty Then Exit Sub
Set rngGef = Rng.Find(strF, lookat:=xlWhole, LookIn:=xlValues)
If Not rngGef Is Nothing Then
strFirstAddress = rngGef.Address
Do
rngGef.Interior.Color = vbYellow
Set rngGef = Rng.FindNext(rngGef)
Loop Until rngGef.Address = strFirstAddress
End If
End Sub


Gruß Gerd

Anzeige
AW: Suchen nach... nur entspr. Zeilen anzeigen
01.11.2007 16:04:21
Luftibus
Hallo Gerd
danke für deinen Lösungsvorschlag!
Gibt es die Möglichkeit, anstelle der einzelnen Zellen die betroffenen Zeilen einzufärben?
Freundliche Grüsse
Luftibus

rngGef.ENTIREROW.Interior.Color = vbYellow
01.11.2007 16:16:00
Daniel
Gruß, Daniel
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Interaktives Suchfeld in Excel: Nur bestimmte Zeilen anzeigen


Schritt-für-Schritt-Anleitung

Um ein interaktives Suchfeld in Excel zu erstellen, das nur bestimmte Zeilen anzeigt, kannst du die folgenden Schritte befolgen:

  1. Suchfeld einfügen:

    • Füge eine neue Zelle (z.B. A1) ein, in die du den Suchbegriff eingeben wirst.
  2. Bedingte Formatierung verwenden:

    • Markiere die Zellen, die du durchsuchen möchtest.

    • Gehe zu „Start“ > „Bedingte Formatierung“ > „Neue Regel“.

    • Wähle „Formel zur Ermittlung der zu formatierenden Zellen verwenden“.

    • Gib die Formel ein:

      =ZÄHLENWENN($B:$B; "*" & $A$1 & "*") > 0
    • Wähle eine Formatierung (z.B. Hintergrundfarbe), um die Zellen hervorzuheben.

  3. Suchbegriff eingeben:

    • Gib einen Suchbegriff in Zelle A1 ein. Die Zellen, die den Suchbegriff enthalten, werden nun entsprechend formatiert.
  4. VBA-Lösung (optional):

    • Wenn du VBA verwenden möchtest, füge einen Befehlsschalter (CommandButton) ein und verwende den folgenden Code:

      Private Sub CommandButton1_Click()
       Dim Rng As Range, rngGef As Range, strFirstAddress As String, strF As String
       Set Rng = ActiveSheet.UsedRange
       Rng.Cells.Interior.ColorIndex = xlNone
       strF = InputBox("Suchbegriff?", vbOKOnly)
       If strF = Empty Then Exit Sub
       Set rngGef = Rng.Find(strF, lookat:=xlWhole, LookIn:=xlValues)
       If Not rngGef Is Nothing Then
           strFirstAddress = rngGef.Address
           Do
               rngGef.EntireRow.Interior.Color = vbYellow
               Set rngGef = Rng.FindNext(rngGef)
           Loop Until rngGef.Address = strFirstAddress
       End If
      End Sub

Häufige Fehler und Lösungen

  • Suchergebnisse erscheinen nicht:

    • Überprüfe, ob du die Platzhalter (*) korrekt verwendet hast, wenn du nur Teile des Textes suchst.
  • Bedingte Formatierung funktioniert nicht:

    • Stelle sicher, dass die Formel korrekt eingegeben wurde und dass die Zellbezüge absolut sind.
  • VBA-Code führt nicht aus:

    • Stelle sicher, dass du die Makros in Excel aktiviert hast. Gehe zu „Datei“ > „Optionen“ > „Trust Center“ > „Einstellungen für das Trust Center“ > „Makroeinstellungen“.

Alternative Methoden

  1. Autofilter verwenden:

    • Wenn du in einer Hilfsspalte eine ZÄHLENWENN-Formel einfügst, kannst du den Autofilter verwenden, um nur die Zeilen anzuzeigen, die einen bestimmten Wert enthalten.
  2. PivotTables:

    • Verwende PivotTables, um Daten zu filtern und nur relevante Zeilen anzuzeigen. Dies kann eine effektive Methode sein, um Daten zu verwalten.

Praktische Beispiele

  • Beispiel mit ZÄHLENWENN: Angenommen, du hast eine Liste von Namen in Spalte B und möchtest nur die Zeilen anzeigen, die den Namen „Max“ enthalten. Verwende in Zelle A1 „Max“ und wende die oben genannte bedingte Formatierung an.

  • VBA zur Zeilenfärbung: Mit dem VBA-Code kannst du beispielsweise alle Zeilen mit dem Suchbegriff „Projekt“ einfärben, was dir hilft, schnell die relevanten Informationen zu finden.


Tipps für Profis

  • Wenn du häufig nach bestimmten Werten suchst, überlege, ein benutzerdefiniertes Suchfeld zu erstellen, das mit VBA programmiert ist. Dies kann dir viel Zeit sparen.
  • Experimentiere mit verschiedenen Platzhaltern (z.B. „*“ und „?“), um die Suchergebnisse weiter zu verfeinern.

FAQ: Häufige Fragen

1. Kann ich das Suchfeld auch für Zahlen verwenden? Ja, das Suchfeld funktioniert auch für Zahlen. Achte darauf, dass du die richtige Formatierung verwendest.

*2. Was ist der Unterschied zwischen und ? in der Suche?* Das Sternchen () steht für beliebig viele Zeichen, während das Fragezeichen (?) für genau ein Zeichen steht.

3. Wie kann ich die Formatierung zurücksetzen? Um die Formatierung zurückzusetzen, kannst du die Zellen einfach manuell oder über den Befehl „Formatierung löschen“ zurücksetzen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige