Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1288to1292
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

Autofilter mit Checkboxen ansprechen

Autofilter mit Checkboxen ansprechen
28.11.2012 21:50:33
Diana88
Hallo zusammen,
ich habe ein Problem mit meinen Autofiltern!
Ich habe eine Datentabelle in der ich in Spalte B und C bereits einen Autofilter mit einigen Button (via VBA) anspreche und diesen nach entsprechenden Daten filtere.
Nun habe ich noch in Spalte D einen Autofilter den ich mit Checkboxen ansprechen möchte!
In Spalte D befinden sich z.B. die Werte "A", "B", "C", "D", "E", "F"
Für die Werte "C bis F" habe ich 4 Checkboxen (für jeden Wert eine)
Ich möchte nun, dass der Autofilter für die Spalte D, wenn die entsprechende Checkbox angeklickt ist (Value = TRUE) die Zeilen anzeigt und wenn die Checkboxen nicht angeklickt (Value =FALSE) ausgeblendet werden.
Dabei soll aber nur die bereits vorgefilterte Tabelle (durch die Spalten B und C) betrachtet werden und dementsprechend "weiter" gefiltert werden durch die Checkboxen.
Dies alles ist aus Gründen der Benutzerfreundlichkeit nötig. Denn aus der Tabelle (Tabellenblatt 1) wird ein Diagramm (auf dem Tabellenblatt 2) erstellt, dass abhängig von den Button-Klicks verschiedene Darstellungen erzielt und mit den Checkboxen eben noch bestimmte "Linien" in dem Diagramm anzeigen soll oder nicht.
Es wäre eben nicht benutzerfreundlich, wenn die Mitarbeiter immer erst in die Tabelle gehen müssen und den Autofilter benutzen. Deswegen dachte ich mir die Buttons und die Checkboxen genau neben dem Diagramm zu platzieren um Darstellungen schnellstmöglichst ändern zu können.
Ich komme leider nicht auf einen Ansatz Sad
Vielen Dank schon im Voraus für Rückmeldungen!
Gruß Diana

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

Betreff
Datum
Anwender
Anzeige
AW: Autofilter mit Checkboxen ansprechen
28.11.2012 22:42:08
fcs
Hallo Diana,
hier ein Beispel, wie du den Autofilter an die Auswahl der Checkboxen koppeln kannst.
In der Summe wird es aber etwas einfacher, wenn du eine Listbox verwendest, statt mehrerer Checkboxen.
Außerdem hat die Listbox das vom Autofilter her gewohnte Aussehen.
Gruß
Franz
'Autofilter setzen über 4 Checlboxen
Private Sub CheckBox1_Click()
Call FilterSpalteD
End Sub
Private Sub CheckBox2_Click()
Call FilterSpalteD
End Sub
Private Sub CheckBox3_Click()
Call FilterSpalteD
End Sub
Private Sub CheckBox4_Click()
Call FilterSpalteD
End Sub
Private Sub FilterSpalteD()
Dim arrFilter(), intI As Integer
Dim wks As Worksheet
If Me.CheckBox1 = True Then
intI = intI + 1
ReDim Preserve arrFilter(1 To intI)
arrFilter(intI) = "C"
End If
If Me.CheckBox2 = True Then
intI = intI + 1
ReDim Preserve arrFilter(1 To intI)
arrFilter(intI) = "D"
End If
If Me.CheckBox3 = True Then
intI = intI + 1
ReDim Preserve arrFilter(1 To intI)
arrFilter(intI) = "E"
End If
If Me.CheckBox4 = True Then
intI = intI + 1
ReDim Preserve arrFilter(1 To intI)
arrFilter(intI) = "F"
End If
Set wks = Worksheets("Tabelle1")
With wks
If .AutoFilterMode = True Then
If intI > 0 Then
.AutoFilter.Range.AutoFilter Field:=4, Criteria1:=arrFilter, Operator:=xlFilterValues
Else
.AutoFilter.Range.AutoFilter Field:=4 ', Criteria1:=arrFilter, Operator:=xlFilterValues
End If
End If
End With
End Sub
' Autofilter setzen über Listbox mit Eigenschaften Multiselect = 1 und ListStyle =1
Private Sub ListBox1_Change()
Dim wks As Worksheet
Dim arrFilter(), intI As Integer, intCount As Integer
With Me.ListBox1
For intCount = 0 To .ListCount - 1
If .Selected(intCount) = True Then
intI = intI + 1
ReDim Preserve arrFilter(1 To intI)
arrFilter(intI) = .List(intCount, 0)
End If
Next
End With
Set wks = Worksheets("Tabelle1")
With wks
If .AutoFilterMode = True Then
If intI > 0 Then
.AutoFilter.Range.AutoFilter Field:=4, Criteria1:=arrFilter, Operator:=xlFilterValues
Else
.AutoFilter.Range.AutoFilter Field:=4 ', Criteria1:=arrFilter, Operator:=xlFilterValues
End If
End If
End With
End Sub
Private Sub UserForm_Initialize()
With Me.ListBox1
.AddItem "C"
.AddItem "D"
.AddItem "E"
.AddItem "F"
End With
End Sub

Anzeige
AW: Autofilter mit Checkboxen ansprechen
29.11.2012 19:19:59
Diana88
Hallo Franz,
zunächst einmal vielen DANK für deine schnelle Rückmeldung! Wirklich klasse!!!
Also das mit der Listbox ist nicht so gut, da ich da ja dann immer nur einen Wert auswählen kann. Ich will aber das ich mit dem setzen der Checkboxen die verschiedenen Linien im Diagramm darstellen kann. Also wenn:
Checkbox1 = True --> zeige "C"
Checkbox2 = True --> zeige "D"
Checkbox3 = True --> zeige "E"
Checkbox4 = True --> zeige "F"
Checkbox1 = False --> verberge "C"
Checkbox2 = False --> verberge "D"
Checkbox3 = False --> verberge "E"
Checkbox4 = False --> verberge "F"
Also es können zig Möglichkeiten entstehen. Z.B. nur eine der genannten Zeigen, oder 2, oder 3 oder alle.
Der Code funktioniert soweit auch :).. Also die Linien werden angezeigt. ABER! Die anderen Filterkriterien werden ausgeblendet. Diese stellen Balken im Diagramm dar!
Ich möchte aber das die anderen Kriterien auch angezeigt werden wenn ich eine Checkbox anklicke. Also die Balken sichtbar bleiben!
Ich habe es so versucht mit dem Opterator xland aber es funktioniert nicht...

Set wks = Worksheets("Tabelle1")
With wks
If .AutoFilterMode = True Then
If intI > 0 Then
.AutoFilter.Range.AutoFilter Field:=4, Criteria1:=arrFilter, Operator:=xlAnd, Criteria2: _
=Array("A", "B"), Operator:=xlFilterValues
Else
.AutoFilter.Range.AutoFilter Field:=4 ', Criteria1:=arrFilter, Operator:=xlAnd,  _
Criteria2:=Array("A", "B"), Operator:=xlFilterValues
End If
End If
End With
End Sub

Hoffe du kannst mir nochmal helfen.
Vielen DANK schon im Voraus!!!
Grüße
Diana

Anzeige
AW: Autofilter mit Checkboxen ansprechen
01.12.2012 10:58:57
fcs
Hallo Diana,
ich denke hier gibt es noch eine Verständnisfrage.
Willst du mit den Checkboxen Werte eines Filters für eine bestimmte Spalte setzen?
oder
Sollen mit den Checkboxen Spalten ein- bzw. ausgeblendet werden?
oder
Sollen im Diagramm bestimmte Datenreihen ein-/ausgeblendet werden?
Letzteres scheint der Fall zu sein.
Listboxen kann man auch so einstellen, dass mehrere Einträge ausgewählt werden können.
Hierzu kann man im VBA-Editor die Eigenschaft "MultiSelect" der Listbox anpassen.
Damit wir hier weiterkommen wäre es hilfreich, wenn du eine Datei mit ein paar -ggf. anonymisierten-Beispieldaten hier hochlädst. Inklusive Erläuterung, was es mit den Daten in Spalte D auf sich hat und was im Diagramm nach einer AUswahl passieren soll.
Gruß
Franz

Anzeige
AW: Autofilter mit Checkboxen ansprechen
01.12.2012 17:18:58
Steffi
Hallo Franz,
sorry für die späte Rückmeldung.
Habe die Datei jetzt mal etwas anonymisiert und lade sie hier hoch:
https://www.herber.de/bbs/user/82845.xlsm
Es ist so ich habe eine Datentabelle ("MA-Daten") in die kopiere ich Daten hoch.
In dem Blatt "MA-Daten_Diagram" erscheint ein Diagramm. Dieses ist verknüpft mit den Daten aus Blatt "MA-Daten". Mit den Buttons Jahre kann ich die Jahre ein- bzw. ausblenden die ich haben möchte.
Mit den Buttons "MA1" "MA2" "MA3" "MA4" "MA5" "Total" kann ich die Daten der einzelnen MA anzeigen lassen (als Balken).
NUN das Problem:
Mit den Checkboxen "D" "E" "F" "G" möchte ich Linien anzeigen lassen (ZUSÄTZLICH zu den ausgewählen Balken).
Also wähle ich z.B. "D" und "G" sollen diese zwei Linien erscheinen. Wähle ich "D" wieder ab soll nur noch "G" sichtbar sein.
D.h. die von mir nun eingebaute Prozedur "FilterSpalteC" soll bei anklicken der jeweiligen Checkbox die Spalte "C" im Blatt "MA-Daten" filtern UND die Balken die mit dem Button angewählt wurden ("MA1" "MA2" "MA3" "MA4" "MA5" "Total")
P.S. es handelt sich um die Spalte C die selektiert werden muss nicht wie von mir fälschlicherweise angenommene D!
Hoffe dies ist hilfreich und Du kannst mir weiterhelfen!
Ich danke Dir schon mal im Voraus!!!
Grüßle
Diana

Anzeige
AW: Autofilter mit Checkboxen ansprechen
01.12.2012 17:25:49
Steffi
Achso:
Die Daten in Spalte C "A", "B", "C", "H" (das sind alle außer den mit den Checkboxen auszuwählenden) sollen immer angezeigt werden. D.h. die haken in der Filterauswahl können da immer als gesetzt markiert sein. Und die anderen 4 Daten "D" "E" "F" "G" möchte ich eben mit den Checkboxen steuern...
Also ich möchte eig. mit den Checkboxen die Werte des Filters setzen.
Hoffe es hilft weiter
DANKESCHÖN.
Grüßle
Steffi

AW: Autofilter mit Checkboxen ansprechen
01.12.2012 20:32:00
fcs
Hallo Steffi-Diana,
für den Einsatz des Autofilters in Spalte C gibt es jetzt 2 Baustellen, die irgendwie bereinigt werden müssen:
1. verbundene Zellen
Die Parameter A, B und D bis H sind jeweils in verbundene Zellen eingetragen. So funktioniert der Autofilter hier nur für den Mitarbeiter MA1. Bei allen anderen Mitarbeitern ist die Spalte C leer, so dass keine Daten angezeigt werden, wenn der Filter auf einen der Werte gesetzt wird.
Die einfachste Lösung: Die verbundenen Zellen auflösen und den Parameter in Spalte C in jeder Zeile eintragen. Dies müßte man einmal per Hand machen oder nach jedem Kopieren der Daten per Makro erledigen.
Dann kann man den Autofilter auch einsetzen.
Ist es ein Problem, die verbundenen Zellen in Spalte C aufzulösen? Außer das es optisch evtl. nicht so "schön" aussieht wie mit verbundenen Zellen? Zur Not könnte man natürlich links von Spalte C auch eine weitere Hilfsspalte einfügen, in der in jeder Zeile der Parameter steht. Damm müßten aber viele Zeilen in den Makros angepasst werden.
Die Prameter "A", "B", "C", "H" im Autofilter für Spalte C fix zusetzen und die Parameter "D" bis "G" variabel ist dann kein so großes Problem bei der Programmierung.
2. Parameter C / Mitarbeiter abc
Wenn ich dich dich richtig verstanden habe, dann sollen die Daten dieser Zeile für jeden Mitarbeiter immer im Diagramm angezeigt werden.
Im Code für die einzelnen MA-Buttons wird für Spalte "Mitarbeiter" immer der Filter auf den MA oder "C" gesetzt.
Steht in der Zeile mit Parameter "C" in Spalte Mitarbeiter in der Datei mit den echten Daten immer "C" und nicht "abc" ?
Grüßle
Franz

Anzeige
AW: Autofilter mit Checkboxen ansprechen
01.12.2012 22:06:13
fcs
Hallo Steffi,
ich hab die verbundenen Zellen in Spalte C im Blatt MA-Daten mal aufgelöst und das Makro "FilterSpalteC" angepasst.
Die anderen Makros hab ich optimiert/vereinfacht.
Gruß
Franz
https://www.herber.de/bbs/user/82850.xlsm

AW: Autofilter mit Checkboxen ansprechen
03.12.2012 19:37:09
Steffi
WOOOOW,
vielen DANK Franz!!!
Jetzt klappt alles wunderbar :).
DANKESCHÖN das du dir soviel Mühe gegeben und Zeit genommen hast. Echt klasse!!!
Lieben Gruß
Steffi

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige