Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeilen mit bestimmten Inhalt ausblenden

Zeilen mit bestimmten Inhalt ausblenden
17.09.2013 17:59:52
Rainer
Hallo
Ich möchte alle Zeilen, welche nicht den Inhalt "Test" haben (der kann innerhalb des Textes stehen), ausblenden.
Folgender Code, den mir die Recherche geliefert hat, blendet mir alle leeren Zeilen aus. Das was ich brauche, kann ich mit meinen VBA-Kenntnissen aber nicht eincodieren.
Vielleicht mir jemand dabei weiterhelfen?
Besten Gruß Rainer
Dim Bereich As Range
If ActiveCell.Row > 1 Then
Set Bereich = Range(Cells(1, ActiveCell.Column), ActiveCell.Offset(-1, 0))
On Error Resume Next
Bereich.SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
On Error GoTo 0
End If

Anzeige

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen mit bestimmten Inhalt ausblenden
17.09.2013 20:13:27
Rainer
Nochmal Hallo,
Etwas weiter haben mich meine Bemühungen mit u.st. Code schon gebracht. Es funktioniert aber nur, wenn der komplette Inhalt der Zelle "Test" ist. Die Zeile sollte aber stehen bleiben, wenn auch andere Zeichen in der Zelle vorhanden sind.
Vielleicht kann jemand den Code entsprechend abändern?
Danke Rainer
Dim rng As Range
For Each rng In Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row)
rng.EntireRow.Hidden = Not rng.Text = "Test"
Next

Anzeige
AW: Zeilen mit bestimmten Inhalt ausblenden
17.09.2013 20:29:54
Gerd
Hallo Rainer!
Sub b()
Dim objRow As Range
For Each objRow In ActiveSheet.UsedRange.Rows
objRow.Hidden = WorksheetFunction.CountIf(objRow, "*Test*") = 0
Next
End Sub
Gruß Gerd

AW: Zeilen mit bestimmten Inhalt ausblenden
17.09.2013 20:37:05
Rainer
Hallo Gerd,
Oh, der sieht ja ganz anders aus als meiner. Aber funktioniert. Nun sieht es so aus als wenn er alle 60000 Zeilen abklopft. Kann man das auf die ersten 200 reduzieren?
Allerbesten Dank
Rainer

Anzeige
AW: Zeilen mit bestimmten Inhalt ausblenden
17.09.2013 21:50:05
Gerd
Hallo Rainer,
das geht auch.
Sub c()
Dim objRow As Range
For Each objRow In Rows("1:200")
objRow.Hidden = WorksheetFunction.CountIf(objRow, "*Test*") = 0
Next
End Sub
Gruß Gerd

AW: Zeilen mit bestimmten Inhalt ausblenden
18.09.2013 09:52:48
Rainer
Guten Morgen Gerd,
danke.
Ich würde gern der Information halber noch wissen, wie muss es aussehen, wenn bis zur letzten Zelle mit Inhalt durchlaufen wird.
For Each objRow In Rows("1:End(xlUp)") mmm, habs versucht - geht aber so nicht.
Gruß Rainer

Anzeige
AW: Zeilen mit bestimmten Inhalt ausblenden
18.09.2013 10:57:53
Rainer
Hallo Hajo,
mir scheint als hatte ich das selbst schon gehabt, nur wenn ich es so anpasse, kann die Hidden-Eigenschaft des Rangeobjektes nicht festgelegt werden. So die Meldung. Wie muss es nun richtig aussehen?
Dim objRow As Range
For Each objRow In Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row)
Gruß Rainer

Anzeige
AW: Zeilen mit bestimmten Inhalt ausblenden
18.09.2013 11:00:05
Hajo_Zi
Hallo Rainer,
das musst Du den Fragen der Dir das vorgeschlagen hat. Ich war es nicht.
Gruß Hajo

AW: ---.End(xlUp).Row).EntireRow o.r.T.
18.09.2013 11:15:24
Gerd
Gruß Gerd

AW: ---.End(xlUp).Row).EntireRow o.r.T.
18.09.2013 11:45:08
Rainer
Hallo Gerd
so? Geht aber nicht. Was ist falsch?
For Each objRow In Rows(.End(xlUp).Row).EntireRow
Gruß Rainer

Anzeige
AW: ---.End(xlUp).Row).EntireRow o.r.T.
18.09.2013 12:02:33
Gerd
Hallo Rainer!
For Each objRow In Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row).EntireRow
Gruß Gerd

AW: ---.End(xlUp).Row).EntireRow o.r.T.
18.09.2013 12:07:45
Rainer
DANKE, Gerd
Gruß Rainer

AW: Zeilen mit bestimmten Inhalt ausblenden
17.09.2013 21:51:15
Rainer
Hallo Gerd,
nochmal ich, wegen dem vergessenen Häkchen.
Gruß Rainer

Anzeige
AW: Zeilen mit bestimmten Inhalt ausblenden
17.09.2013 21:52:39
Rainer
Hallo Gerd,
nochmal ich, wegen dem vergessenen Häkchen.
Gruß Rainer
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zeilen mit bestimmten Inhalten in Excel ausblenden


Schritt-für-Schritt-Anleitung

Um in Excel alle Zeilen mit einem bestimmten Inhalt auszublenden, kannst Du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf VBAProject (DeineArbeitsmappe), wähle Einfügen und dann Modul.
  3. Füge den folgenden Code ein:

    Sub ZeilenAusblenden()
       Dim objRow As Range
       For Each objRow In ActiveSheet.UsedRange.Rows
           objRow.Hidden = WorksheetFunction.CountIf(objRow, "*Test*") = 0
       Next
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus:

    • Drücke ALT + F8, wähle ZeilenAusblenden und klicke auf Ausführen.

Dieser Code blendet alle Zeilen aus, die nicht den Text "Test" enthalten, unabhängig davon, ob er Teil eines anderen Textes ist.


Häufige Fehler und Lösungen

  • Fehler: Keine Zeilen werden ausgeblendet

    • Lösung: Stelle sicher, dass der Suchbegriff korrekt ist und dass Du den richtigen Bereich in der Arbeitsmappe ausgewählt hast.
  • Fehler: Zeilen werden nur ausgeblendet, wenn die Zelle exakt "Test" enthält

    • Lösung: Verwende den CountIf-Befehl mit Wildcards, wie im obigen Beispiel gezeigt ("*Test*").
  • Fehler: Das Makro läuft zu lange

    • Lösung: Reduziere den Bereich, den Du durchsuchst, z.B. auf Rows("1:200"), um die Leistung zu verbessern.

Alternative Methoden

Wenn Du kein VBA verwenden möchtest, kannst Du auch die Filterfunktion in Excel nutzen:

  1. Markiere die Spaltenüberschrift.
  2. Gehe zu Daten > Filter.
  3. Klicke auf den Dropdown-Pfeil und wähle Textfilter.
  4. Wähle Enthält und gib "Test" ein.

Diese Methode blendet nicht die Zeilen aus, sondern zeigt nur die relevanten Zeilen an.


Praktische Beispiele

  1. Alle Zeilen mit "Test" in Spalte A ausblenden:

    Sub BeispielA()
       Dim rng As Range
       For Each rng In Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row)
           rng.EntireRow.Hidden = Not rng.Text Like "*Test*"
       Next
    End Sub
  2. Zeilen in einem bestimmten Bereich ausblenden:

    Sub BeispielB()
       Dim objRow As Range
       For Each objRow In Rows("1:200")
           objRow.Hidden = WorksheetFunction.CountIf(objRow, "*Test*") = 0
       Next
    End Sub

Beide Beispiele zeigen, wie Du alle Zeilen mit einem bestimmten Inhalt in Excel ausblenden kannst.


Tipps für Profis

  • Verwende Named Ranges: Statt feste Zellreferenzen zu verwenden, kannst Du benannte Bereiche verwenden, um den Code flexibler zu gestalten.
  • Optimierung: Deaktiviere die Bildschirmaktualisierung während der Makroausführung:
    Application.ScreenUpdating = False
    ' Dein Code hier
    Application.ScreenUpdating = True
  • Fehlerbehandlung: Füge eine Fehlerbehandlung hinzu, um unvorhergesehene Probleme zu vermeiden.

FAQ: Häufige Fragen

1. Kann ich mehrere Begriffe gleichzeitig ausblenden? Ja, Du kannst den CountIf-Befehl anpassen, um mehrere Bedingungen zu prüfen.

2. Wie kann ich die ausgeblendeten Zeilen wieder anzeigen? Verwende den Befehl Rows.Hidden = False, um alle Zeilen wieder anzuzeigen.

3. Funktioniert das auch in Excel Online? VBA-Makros sind in Excel Online nicht verfügbar. Du musst die Desktopversion verwenden.

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