Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1788to1792
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

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!

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
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
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
Anzeige
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
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
Anzeige
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
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
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

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige