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

horizontaler Filter erweitern

horizontaler Filter erweitern
03.01.2018 12:41:57
lemmi
Hallo zusammen,
in der Beispieldatei unten kann ich einen horizontalen Filter setzten.
Der Filter ist in H7 (Meier/Müller/Hund/Katze) versehen ist.
Der Filter wird mit einem Makro gesteruert.
Nun möchte ich weiter filtern.
In meinem Fall habe ich noch in H8: groß/klein) genommen.
Ist es möglich das vorhandene Makro zu erweitern?
siehe auch Datei.
https://www.herber.de/bbs/user/118353.xlsm
Gruß
Lemmi

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

Betreff
Datum
Anwender
Anzeige
AW: horizontaler Filter erweitern
03.01.2018 14:02:08
ChrisL
Hi
z.B. so...
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
If Target.Address = "$H$7" Or Target.Address = "$H$8" Then
With Range("I7:CX7")
Application.ScreenUpdating = False
.EntireColumn.Hidden = True
For Each r In .Cells
If r = Range("H7") And r.Offset(1, 0) = Range("H8") Then _
r.EntireColumn.Hidden = False
Next r
Application.ScreenUpdating = True
End With
End If
End Sub
cu
Chris
AW: horizontaler Filter erweitern
03.01.2018 15:11:28
lemmi
Hallo,
ich bin etwas irritiert!
Das erste Makro Filter den Namen und stellt die Auswahl wieder zurück wenn das Feld ohne Auswahl ist.
...also keinen Namen gesucht wird.
Wenn nun der Filter den Namen z.B. Meier hat...dann will ich weiter filtern und klein oder groß auswaählen.
Neme ich das geänderte Makro muss ich über die Eigenschaft klein und groß erts filtern.
Da habe ich mich wohl ungenau ausgedrückt.
Es währe schön, wenn ich so es abarbeiten kann, dass ich es so ausführen könnte ...also Meier und dann groß/ klein
Gruß
Lemmi
Anzeige
AW: horizontaler Filter erweitern
03.01.2018 15:53:33
ChrisL
Hi
Nachgebessert...
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
If Target.Address = "$H$7" Or Target.Address = "$H$8" Then
With Range("I7:CX7")
Application.ScreenUpdating = False
.EntireColumn.Hidden = True
For Each r In .Cells
If (Range("H7") = "" Or r = Range("H7")) And _
(Range("H8") = "" Or r.Offset(1, 0) = Range("H8")) Then _
r.EntireColumn.Hidden = False
Next r
Application.ScreenUpdating = True
End With
End If
End Sub
cu
Chris
AW: horizontaler Filter erweitern
04.01.2018 06:37:20
lemmi
Hallo Chris,
das sieht ja ziemlich gut aus! Vielen Dank!
Auch wenn alles passt, würde ich gerne noch eine Farge stellen!
Kann das Makro nach noch weitere Merkmalen erweitert werden.
Ich habe Tabellen mit bis zu 10 Merkmalens-Zeilen. Diese muss ich immer wieder neu zusammenstellen.
Würde die Arbeit ungemein erleichten wenn das Makro weitere Zeilen dazu nehmen könnte!
Vielen Dank im Voraus!
Lemmi
Anzeige
AW: horizontaler Filter erweitern
04.01.2018 08:30:29
ChrisL
Hi
Kann man schon, aber anstelle eines "komplexen" horizontalen Filters neu zu bauen, würde ich die Zeit in vernünftige Strukturen stecken d.h. transponieren. So kannst du die volle Leistung des Autofilters ausnutzen (z.B. filtern nach Teilstring, mehrere Kriterien pro Datenfeld etc.).
cu
Chris
AW: horizontaler Filter erweitern
04.01.2018 08:55:56
lemmi
Hallo Chris,
ja, dass habe ich bereits alles gemacht.
Leider sind meine Datenstrukturen Datumsbezogen abfolgend gelistet und das transponieren ist von der Struktur ab einer bestimmten Datenmenge nicht mehr sinnvoll.
...ich habe so manches mal Datenstäze mit >10.000 Zielen aber nur Ich kann dann die Datensätze besser Gruppierung.
Es wäre sehr schön wenn es noch klappen könnte!
Gruß
Lemmi
Anzeige
AW: horizontaler Filter erweitern
04.01.2018 10:55:26
ChrisL
Hi
OK, die Argumentation kann ich nachvollziehen. Für die Umsetzung kann ich allerdings nicht unterstützen, da ich im Moment andere Prioritäten habe und weil es vermutlich eine umfangreichere Aufgabe wird.
cu
Chris
AW: horizontaler Filter erweitern
04.01.2018 12:56:55
lemmi
Hallo Chris,
vielen Dank! Vieicht kann noch jemand anderes unterstützen.
Belasse die Frage als offen!
Ich hoffe das ist o.k.
Gruß
Lemmi
AW: horizontaler Filter erweitern
07.01.2018 13:16:29
Piet
Hallo Lemmi
Ich habe Tabellen mit bis zu 10 Merkmalens-Zeilen.
Ich habe so eine Aufgabe noch nie programmiert, dürfte vielleicht reizvoll sein!
Dazu brauchte ich aber die Infos wo sich die Daten zum Filtern befinden. In welchen Zeilen?
Und sind sie immer gleich belegt, oder mal 2-3, mal 5, mal bis 10 Merkmale?
Gibt es eine bestimmte Rangfolge dieser Daten die berücksichtigt werden muss?
mfg Piet
Anzeige
AW: horizontaler Filter erweitern
07.01.2018 20:18:18
Lemmi
Hallo Piet,
warum gibt es 10 Merkmale!
Jeder Abteilung hat Ihre eigenen "Sichtweisen" und versteht die Zusammenstellung der Daten nur wenn Sie nach jeweils deren Sichtweisen Dargestellt sind.
Das macht es etwas schierig und aufwendig.Die Datenzeilen sind sehr häufig größer 10.000 Zeilen.
Weil ich Zusammenhänge (Fehler) suche, will ich die Daten aus verschiedenen Sichtweisen beleuchten und immer wieder verscheidene Datengruppen auswerten.
Das Hauptmerkmal kann die erste Zeile sein. ( für Abteilung 1) bei anderen sind es aber die Zeile z.B.8
Nach dem ersten Filtern werden in der Regel max. 2,3 max.5 unterfilter, zur Verfeinerung und Gruppierung benötigt.
Alle 10 Filter werden in einer Kaskade nicht gebraucht.
Meine "einefache" Vorstelleung ist, dass ich wie bei einem herkömmlichen Filter (waagerecht) arbeiten kann.(...nur filtern...ohne auswahlbox etc.)
Leider hatte ich im Netz bisher nichts finden können.
Gruß
Lemmi
Anzeige
AW: horizontaler Filter erweitern
08.01.2018 08:00:34
Piet
Hallo Lemmi
ich habe mir die Sache noch mal angesehen, und komme auf diesen Satz zurück:
bei anderen sind es aber die Zeile z.B. 8
Wenn ich den Satz richtig verstehe ist die Methode die ich im Beispiel fand vom Prinzip her richtig, hat aber so seine Tücken!
Filter ich in Spalte 7 nach Müller findet er dort Müller. In Zeilen weiter unten kann auch Müller stehen, evtl. in anderen Spalten!
Die sind jetzt aber ausgeblendet! Bei 10.000 Daten die man analysierenn will sicher ein echtes Problem!!
Habe ich das so richtig verstanden? - Ich kenne die Datei ja nicht, sehe sie nicht!
Mir kam eine andere, vielleicht verblüffend einfache Idee. Das waere ein individueller VBA Filter, den es so von MS nicht gibt. Alle Daten in eine 2. Auswahlliste als Hilfstabelle kopieren, und dann mit Replace alle unnötigen Daten Löschen. z.B. alle Namen ausser "Müller"! Danach alle Begriffe gross, klein, ausser dem gewünschten! Zum Schluss müsste man bei gross/klein noch prüfen ob der Name Müller vorkommt, sonst auch weglöschen!
Jetzt haettest du eine fertige Liste, in der nur noch die gewünschten Namen vorkommen!
Man kann auch noch die Leerzeilen und leere Spalten löschen, indem man oben die Original Spalte und Links die Original Zeile angibt.
Was haelst du von diesem Vorschlag? - Weil das keine 5 Minuten Arbeit ist, viel zu programmieren, frage ich erst mal nach ob das eine sinnvolle Lösung ist? Ich warte erst mal deine Antwort ab...
mfg Piet
Anzeige
AW: horizontaler Filter erweitern
08.01.2018 08:19:21
Piet
Hallo Lemmi
ich habe direkt noch zwei Rückfragen: - fiel mir gerade so ein ....
Sind die Daten wie klein/gross immer direkt unter dem Namen, in 2. Reihe, 3. Reihe usw.?
Und sollen nur die Daten gefiltert werden wo auch -alle Zusatzbegriffe- gemeinsam vorkommen?
mfg Piet
AW: horizontaler Filter erweitern
08.01.2018 10:03:49
lemmi
Hallo Piet,
Alle Datenzeilen (Auswahlfelder) sind untereinander und ohne Leerzeile. Also H7-H16.(Namen)
Wenn eine Zeile ohne ohne Inhalt ist, ist diese immer am Ende.
Dies liegt daran das eben nicht immer 10 Merkmale vorhanden sind/ benötigt werden.
Die Datenspalten sind immer voll.
Habe ich einen Namen in H7 ausgewählt, so soll es möglich sein in z.B. H10 das zweite Merkmal zu filtern. Damit sind die Daten (Auswahl)nicht zwingend untereinander.
Wenn es möglich ist, würde ich gerne auch die Möglichkeit haben wollen z. B. H15 Auszuwählen und dann z.B. H10.
...sollte es umsetzbar sein!
"Und sollen nur die Daten gefiltert werden wo auch -alle Zusatzbegriffe- gemeinsam vorkommen?"
JA.
Nur das macht Sinn...weil ich Datengruppen mit den selben (Teilmenge) Eigenschaften zusammen stellen will.
Gruß
Lemmi
Anzeige
AW: horizontaler Filter erweitern
08.01.2018 16:25:03
Piet
Hallo Lemmi
anbei mal ein überarbeitetes Makro, in der Hoffnung das es weiterhilft.
Bei der kleinen Datenmenge konnte ich es aber nicht gründlich testen.
mfg Piet
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub     'mehrfach Zellen
If Target.Value = "" Then Exit Sub    'Zelle ist leer
If Target.Column  8 Then Exit Sub   'ungültige Spalte
'Makro nur im Bereich von Zeile 7 bis Zeile 15 gültig
If Target.Row >= 7 Or Target.Row  "" Then .RowDifferences(Target).EntireColumn.Hidden = True
End With
End If
'bei Wert weiter Filter von 8 bis 15
If Target.Address = "$H$8" Then Range("H8:CX8").RowDifferences(Target).EntireColumn. _
Hidden = True
If Target.Address = "$H$9" Then Range("H9:CX9").RowDifferences(Target).EntireColumn. _
Hidden = True
If Target.Address = "$H$10" Then Range("H10:CX10").RowDifferences(Target).EntireColumn. _
Hidden = True
If Target.Address = "$H$11" Then Range("H11:CX11").RowDifferences(Target).EntireColumn. _
Hidden = True
If Target.Address = "$H$12" Then Range("H12:CX12").RowDifferences(Target).EntireColumn. _
Hidden = True
If Target.Address = "$H$13" Then Range("H13:CX13").RowDifferences(Target).EntireColumn. _
Hidden = True
If Target.Address = "$H$14" Then Range("H14:CX14").RowDifferences(Target).EntireColumn. _
Hidden = True
If Target.Address = "$H$15" Then Range("H15:CX15").RowDifferences(Target).EntireColumn. _
Hidden = True
End If
End Sub

Anzeige
AW: horizontaler Filter erweitern
09.01.2018 06:29:40
lemmi
Hallo Piet,
ich habe im Schnelltest- die Musterdatei genommen und die Inhalte in Zeile 7 und 8 bis auf Zeile 15 immer wieder kopiert und das Makro abgesetzt!
Suuuuuuper! es klappt!
Kannst Du mir vieleicht noch eine Programmierziele "Schenken".
Ist es möglich wenn die Daten (Namen) in Spalte H keinen Inhalt haben, dass dann alle Daten wieder einblendet werden?
...das währe dann spitze!
Vielen Dank !
Gruß
Lemmi
AW: horizontaler Filter erweitern
09.01.2018 11:11:13
Piet
Hallo Lemmi
freut mich das mein Makro klappt. Zum löschen ist am einfachsten ein kurzes Makro in Modul1 über Button!
Bitte einen normalen Button nehmen, dem kann man das Makro direkt zuweisen! (kein ActiveX Element!!)
mfg Piet
Sub Filter_zurücksetzen()
With Worksheets("Auswahl")
'alle Spalten wieder einblenden
.Range("H7:CX7").EntireColumn.Hidden = False
'alle Filter löschen
For j = 7 To 15
.Cells(j, "H") = Empty
Next j
End With
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige