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

Forumthread: Zeilen ausblenden wenn 2 Werte gleich

Zeilen ausblenden wenn 2 Werte gleich
19.10.2020 11:28:42
Seppl
Hallo community,
dies ist mein erster Beitrag, deswegen bitte ein Auge zudrücken wenn Beschreibung nicht so ist wie gewünscht.
Zu meinem Problem: Ich habe eine Tabelle mit 5 Spalten, bei der Zeilen ausgeblendet (nicht gelöscht) werden sollen, bei denen die Werte zweier Spalten (A und D) identisch sind, mit den Einträgen in anderen Zeilen.
Beispiel:
A B C D E
Berlin Hase Inge Nelke Mars
Berlin Wolf Klaus Nelke Erde
Köln Bär Heinz Rose Erde
Aachen Igel Heinz Tulpe Venus
Aachen Igel Kurt Nelke Mars
Aschen Bär Inge Nelke Erde
Wien Reh Bert Rose Pluto
Gewünschtes Ergebnis:
A B C D E
Berlin Hase Inge Nelke Mars
Köln Bär Heinz Rose Erde
Aachen Igel Heinz Tulpe Venus
Aachen Igel Kurt Nelke Mars
Wien Reh Bert Rose Pluto
Für die drei restlichen Felder können die „ersten Werte“ eingetragen werden die gefunden werden.
Habe es schon probiert mit:
ActiveSheet.Range("$A$1:$E$8").RemoveDuplicates Columns:=Array(1, 4), Header:=xlNo
Aber diese Zeilen werden dann wirklich gelöscht und können nicht wieder eingeblendet werden.
Kriege es nicht hin, aus dem „RemoveDuplicates“ eine Art „Ausblenden“-Befehl zu generieren.
Hoffe ein VBA-Experte von Euch kann mir da evtl. weiterhlefen. Danke schön vorab!
Anzeige

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen ausblenden wenn 2 Werte gleich
19.10.2020 11:36:27
Daniel
Hi
da brauchst du eine Hilfsspalte, in welcher du die Zeilen per Formel kennzeichnest und dann filterst.
wenn die Zeilen so wie in deinem Beispiel direkt untereinander stehen, dh nach Spalte A und D sortiert bzw zumindest gruppiert sind, dann reicht die Formel in Zeile 2: =A1&D1=A2&D2
und du filterst in dieser Zeile nach FALSCH.
Gruß Daniel
Anzeige
AW: Zeilen ausblenden wenn 2 Werte gleich
19.10.2020 12:04:33
Seppl
Hallo Daniel,
danke für die schnelle Antwort. Interessanter Ansatz, werde es heute noch ausprobieren.
AW: Zeilen ausblenden wenn 2 Werte gleich
19.10.2020 14:46:17
Seppl
Hallo Daniel,
funktioniert so wie von Dir beschrieben - danke! Habe gleichzeitig noch eine Lösungsalternative von Gerd zugeschickt bekommen. Die ist auch sehr geschickt (über Makro, ohne Zusatzspalte). Bin am Überlegen welche der beiden Alternativen ich einbauen werde.
Danke auf jeden Fall schonmal, super schnelle Hilfe von Euch beiden.
Grüße, Seppl
Anzeige
AW: Zeilen ausblenden wenn 2 Werte gleich
19.10.2020 11:46:06
Seppl
Hallo,
sorry habe gesehen, dass in den Tabellenbeispielen die Tabellen nicht so angezeigt werden wie gewünscht (tabellarisch untereinander). Hoffe Ihr könnt trotzdem damit etwas anfangen.
AW: Zeilen ausblenden wenn 2 Werte gleich
19.10.2020 12:01:35
Gerd
Servus Seppl!
Sub Unit()
Dim R As Range
For Each R In Cells(1, 1).CurrentRegion.Rows
R.Hidden = WorksheetFunction.CountIfs _
(Range("A1:A" & R.Row), R.Cells(1, 1), _
Range("D1:D" & R.Row), R.Cells(1, 4))  1
Next
End Sub

Gruß Gerd
Anzeige
AW: Zeilen ausblenden wenn 2 Werte gleich
19.10.2020 12:10:57
Seppl
Hallo Gert,
danke für die schnelle Antwort. Habe es mit Deinem Makro probiert, aber es tut sich nichts. Die For-Schleife wird auch nur einmal durchlaufen.
Grüße, Seppl
AW: Zeilen ausblenden wenn 2 Werte gleich
19.10.2020 12:19:32
Gerd
Hallo Seppl,
wenn du keine idealtypsche Liste (ein Rechteck ab A1 vollständig gefüllt) hast,
kannst du mal dies probieren.
Sub Unit_2()
Dim R As Range
For Each R In Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp)).EntireRow
R.Hidden = WorksheetFunction.CountIfs _
(Range("A1:A" & R.Row), R.Cells(1, 1), _
Range("D1:D" & R.Row), R.Cells(1, 4))  1
Next
End Sub

Gruß Gerd
Anzeige
AW: Zeilen ausblenden wenn 2 Werte gleich
19.10.2020 12:57:37
Seppl
Hallo Gert,
super, jetzt funktioniert's - vielen Dank!
Habe um den Hidden-Befehl noch eine kleine If-Schleife eingebaut, dass Leerzeilen übersprungen werden, aber sieht wirklich sehr gut aus.
Danke und schöne Grüße, Seppl
AW: Zeilen ausblenden wenn 2 Werte gleich
19.10.2020 14:32:03
Seppl
Hallo Gerd,
wie ich bereits geschrieben habe funktioniert Dein Makro einwandfrei.
Eine Frage nur noch: Angenommen ich würde noch eine dritte Spalte (Spalte F) als Filterkriterium aufnehmen wollen. Wie müsste dann die R.Hidden-Anweisung lauten?
Würde mich freuen, von Dir zu hören.
Schöne Grüße und danke vorab, Seppl
Anzeige
AW: Zeilen ausblenden wenn 2 Werte gleich
20.10.2020 12:43:14
Gerd
Hallo Seppl!
Sub Unit_3()
Dim R As Range
For Each R In Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp)).EntireRow
R.Hidden = WorksheetFunction.CountIfs _
(Range("A1:A" & R.Row), R.Cells(1, 1), _
Range("D1:D" & R.Row), R.Cells(1, 4), _
Range("F1:F" & R.Row), R.Cells(1, 6))  1
Next
End Sub

Gruß Gerd
Anzeige
AW: Zeilen ausblenden wenn 2 Werte gleich
21.10.2020 09:17:36
Seppl
Hallo Gerd,
vielen Dank - jetzt läuft's auch mit drei Feldern! Ich möchte nicht undankbar erscheinen, aber eine Frage/Bitte hätte ich noch:
Ich habe festgestellt, dass wenn zuvor Zeilen über den "normalen" Autofilter ausgeblendet wurden, diese nach dem Durchlauf Deines Makros wieder eingeblendet werden. Wäre das ein großer Akt, Dein Makro nur auf die sichtbaren Zeilen anwenden zu lassen? So könnte ich zuvor den Autofilter anwenden und anschließend mit Deinem Makro die mehrfachen Zeilen ausblenden. Aktuell hebt praktisch der Autofilter Dein Makro auf, und umgekehrt genauso.
Wenn's aber ein zu großer Aufwand wäre, dann könnte ich das auch so lassen wie es ist. Aber Du weißt ja, man will es immer optimieren wo es geht.
Schöne Grüße und danke vorab, Seppl
Anzeige
AW: Zeilen ausblenden wenn 2 Werte gleich
19.10.2020 15:09:13
Daniel
Hi
wenns per Makro sein soll, vielleicht auch so:
Sub test()
Dim txt1 As String, txt2 As String
Dim rngAusblenden As Range
Dim Zelle As Range
Dim Bereich As Range
For Each Zelle In ActiveSheet.UsedRange.Columns(1).Cells
txt1 = "|" & Zelle.Value & Zelle.Offset(0, 3).Value & "|"
If InStr(txt2, txt1) = 0 Then
txt2 = txt2 & txt1
Else
If Bereich Is Nothing Then
Set Bereich = Zelle
Else
Set Bereich = Union(Bereich, Zelle)
End If
End If
Next
Bereich.EntireRow.Hidden = True
End Sub

könnte bei größeren Datenmengen etwas schneller sein als die Variante von Gerd.
Gruß Daniel
Anzeige
AW: Zeilen ausblenden wenn 2 Werte gleich
20.10.2020 09:57:01
Seppl
Hallo Daniel,
danke Dir für das Makro, werde es heute auch testen.
Eine Frage nur noch: Wenn zusätzlich noch die Spalte F berücksichtigt werden sollte, reicht es dann wenn ich die 6.te Befehlszeile wie folgt abändere:
txt1 = "|" & Zelle.Value & Zelle.Offset(0, 3).Value & Zelle.Offset(0,5).Value & "|"
Schöne Grüße und danke vorab, Seppl
Anzeige
AW: Zeilen ausblenden wenn 2 Werte gleich
20.10.2020 12:41:48
Daniel
Hi
ja, reicht aus
Gruß Daniel
AW: Zeilen ausblenden wenn 2 Werte gleich
22.10.2020 12:03:14
Seppl
Hallo Daniel,
eine Frage hätte ich noch zu Deinem Makro. Kannst Du mir sagen, ob bei Deiner Variante die Zeilen die vor der Anwendung Deines Makros über den "normalen" Autofilter ausgeblendet wurden, nach Anwendung des Makros wieder eingeblendet werden?
Das habe ich bei der Variante von Gerd festgestellt. Wünschenswert wäre es, wenn das Makro, die über den Autofilter ausgeblendeten Zeilen, nicht wieder einblendet. Ansonsten hebt praktisch das Makro den Autofilter auf - und umgekehrt.
Ich weiß, ist bisschen viel verlangt - aber vielleicht hast Du da auch eine Idee.
Schöne Grüße und vielen Dank vorab, Seppl
Anzeige
AW: Zeilen ausblenden wenn 2 Werte gleich
22.10.2020 11:53:04
Seppl
Hallo Daniel,
eine Frage hätte ich noch zu Deinem Makro. Kannst Du mir sagen, ob bei Deiner Variante die Zeilen die vor der Anwendung Deines Makros über den "normalen" Autofilter ausgeblendet wurden, nach Anwendung des Makros wieder eingeblendet werden?
Das habe ich bei der Variante von Gerd festgestellt. Wünschenswert wäre es, wenn das Makro, die über den Autofilter ausgeblendeten Zeilen, nicht wieder einblendet. Ansonsten hebt praktisch das Makro den Autofilter auf - und umgekehrt.
Ich weiß, ist bisschen viel verlangt - aber vielleicht hast Du da auch eine Idee.
Schöne Grüße und vielen Dank vorab, Seppl
Anzeige
;

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

Zeilen in Excel ausblenden, wenn Werte gleich sind


Schritt-für-Schritt-Anleitung

Um Zeilen in Excel auszublenden, wenn die Werte in zwei Spalten identisch sind, kannst Du folgende Schritte ausführen:

  1. Hilfsspalte hinzufügen:

    • Füge eine Hilfsspalte (z.B. Spalte F) hinzu, um die Zeilen zu kennzeichnen.
  2. Formel eingeben:

    • In Zelle F2 kannst Du die Formel =A2&D2=A1&D1 eingeben. Diese überprüft, ob der Wert in Spalte A und D der aktuellen Zeile gleich dem der vorherigen Zeile ist.
  3. Formel nach unten ziehen:

    • Ziehe die untere rechte Ecke von Zelle F2 nach unten, um die Formel auf die restlichen Zeilen anzuwenden.
  4. Filter anwenden:

    • Filtere die Hilfsspalte F nach FALSCH, um nur die Zeilen anzuzeigen, die Du behalten möchtest.

Häufige Fehler und Lösungen

  • Fehler: Zeilen werden gelöscht statt ausgeblendet.

    • Lösung: Achte darauf, dass Du die Hilfsspalte korrekt filterst und nicht die RemoveDuplicates-Funktion verwendest, die tatsächlich Zeilen löscht.
  • Fehler: Makro funktioniert nicht.

    • Lösung: Überprüfe, ob Deine Daten in einem konsistenten Bereich ohne Leerzeilen vorliegen. Nutze die angepasste Version des Makros von Gerd, wenn nötig.

Alternative Methoden

  • VBA-Makro verwenden:
    Sub ZeilenAusblenden()
      Dim R As Range
      For Each R In Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp)).EntireRow
          R.Hidden = WorksheetFunction.CountIfs(Range("A:A"), R.Cells(1, 1), Range("D:D"), R.Cells(1, 4)) > 1
      Next
    End Sub

    Dieses Makro blendet automatisch die Zeilen aus, bei denen die Werte in Spalte A und D gleich sind.


Praktische Beispiele

Nehmen wir an, Du hast folgende Daten:

A B C D E
Berlin Hase Inge Nelke Mars
Berlin Wolf Klaus Nelke Erde
Köln Bär Heinz Rose Erde
Aachen Igel Heinz Tulpe Venus
Aachen Igel Kurt Nelke Mars

Wenn Du die oben beschriebenen Schritte anwendest, wirst Du die Zeilen mit identischen Werten in Spalte A und D ausblenden können.


Tipps für Profis

  • Verwendung von bedingter Formatierung: Du kannst auch die bedingte Formatierung verwenden, um bestimmte Zellen hervorzuheben, bevor Du sie ausblendest.
  • Automatisierung: Überlege Dir, Makros zu erstellen, die Du regelmäßig verwenden kannst, um den Prozess des Ausblendens zu automatisieren.

FAQ: Häufige Fragen

1. Wie kann ich eine Zeile in Excel ausblenden, wenn eine Bedingung erfüllt ist? Du kannst die Wenn-Funktion in einer Hilfsspalte verwenden, um zu bestimmen, welche Zeilen ausgeblendet werden sollen.

2. Funktioniert das Ausblenden auch bei großen Datenmengen? Ja, die beschriebenen Methoden funktionieren auch bei größeren Datensätzen, jedoch kann die Performance variieren, je nach Komplexität der Formeln oder Makros.

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