22.11.2018, 11:20
Seiten: 1 2
22.11.2018, 11:36
Habe ich schon leider funktioniert es nicht. Der code ist genau der gleiche wie Sie mir geschickt haben. Der Code den ich nutze sieht wie folgt aus:
Allerdings bleibt das Problem, das der Filter beim abwählen des Kästchen nicht zurückgesetzt wird. :(
Code:
Private Sub CheckBox1_Change()
M_snb
End Sub
Private Sub CheckBox2_Change()
M_snb
End Sub
Private Sub CheckBox3_Change()
M_snb
End Sub
Private Sub CheckBox4_Change()
M_snb
End Sub
Private Sub CheckBox5_Change()
M_snb
End Sub
Sub M_snb()
For j = 1 To 5 'Anzahl der Checkboxen und Filteroptionen, eine Zeile tiefer
If Me("Checkbox" & j) Then c00 = c00 & "|" & Me("Checkbox" & j).Caption
Next
Tabelle1.ListObjects(1).DataBodyRange.AutoFilter 7
If c00 <> "" Then Tabelle1.ListObjects(1).DataBodyRange.AutoFilter 13, Split(Mid(c00, 2), "|"), 7
End Sub
Private Sub CommandButton3_Click()
Tabelle1.ShowAllData
End Sub
Allerdings bleibt das Problem, das der Filter beim abwählen des Kästchen nicht zurückgesetzt wird. :(
22.11.2018, 12:50
Dus hast nur eine Codezeile angepast.
22.11.2018, 12:58
Hallo elamigo,
warum ignorierst Du den (richtigen) Vorschlag von André aus #2 ?
Du hast Dich zwar bedankt, aber dann kam nichts mehr dazu.
Gruß Uwe
warum ignorierst Du den (richtigen) Vorschlag von André aus #2 ?
Du hast Dich zwar bedankt, aber dann kam nichts mehr dazu.
Gruß Uwe
22.11.2018, 13:25
@snb, danke schon mal, aber welche Zeile muss ich noch anpassen, damit der Filter sich beim abwählen zurücksetzt?
@Kuwer ich habe diese Variante versucht der Code sieht so aus
allerdings will der nicht zu 100%, selbe Problem beim abwählen der checkbox. Anbei die Datei mit dem Code. Sollte auf keinen Fall negativ rüber kommen oder abwertend gegenüber Andre aus #2
@Kuwer ich habe diese Variante versucht der Code sieht so aus
Code:
Private Sub CheckBox1_Click()
'FilternBEA Makro
With ActiveWorkbook.SlicerCaches( _
"Datenschnitt_Spalte12")
.SlicerItems("BEE").Selected = CheckBox1.Value
.SlicerItems("BEA").Selected = CheckBox2.Value
.SlicerItems("BGS").Selected = CheckBox3.Value
.SlicerItems("BPP").Selected = CheckBox4.Value
.SlicerItems("BTT").Selected = CheckBox5.Value
End With
End Sub
Private Sub CheckBox2_Click()
'FilternBEA Makro
With ActiveWorkbook.SlicerCaches( _
"Datenschnitt_Spalte12")
.SlicerItems("BEE").Selected = CheckBox1.Value
.SlicerItems("BEA").Selected = CheckBox2.Value
.SlicerItems("BGS").Selected = CheckBox3.Value
.SlicerItems("BPP").Selected = CheckBox4.Value
.SlicerItems("BTT").Selected = CheckBox5.Value
End With
End Sub
Private Sub CheckBox3_Click()
'FilternBEA Makro
With ActiveWorkbook.SlicerCaches( _
"Datenschnitt_Spalte12")
.SlicerItems("BEE").Selected = CheckBox1.Value
.SlicerItems("BEA").Selected = CheckBox2.Value
.SlicerItems("BGS").Selected = CheckBox3.Value
.SlicerItems("BPP").Selected = CheckBox4.Value
.SlicerItems("BTT").Selected = CheckBox5.Value
End With
End Sub
Private Sub CheckBox4_Click()
'FilternBEA Makro
With ActiveWorkbook.SlicerCaches( _
"Datenschnitt_Spalte12")
.SlicerItems("BEE").Selected = CheckBox1.Value
.SlicerItems("BEA").Selected = CheckBox2.Value
.SlicerItems("BGS").Selected = CheckBox3.Value
.SlicerItems("BPP").Selected = CheckBox4.Value
.SlicerItems("BTT").Selected = CheckBox5.Value
End With
End Sub
Private Sub CheckBox5_Click()
'FilternBEA Makro
With ActiveWorkbook.SlicerCaches( _
"Datenschnitt_Spalte12")
.SlicerItems("BEE").Selected = CheckBox1.Value
.SlicerItems("BEA").Selected = CheckBox2.Value
.SlicerItems("BGS").Selected = CheckBox3.Value
.SlicerItems("BPP").Selected = CheckBox4.Value
.SlicerItems("BTT").Selected = CheckBox5.Value
End With
End Sub
allerdings will der nicht zu 100%, selbe Problem beim abwählen der checkbox. Anbei die Datei mit dem Code. Sollte auf keinen Fall negativ rüber kommen oder abwertend gegenüber Andre aus #2
22.11.2018, 13:30
Code:
Tabelle1.ListObjects(1).DataBodyRange.AutoFilter 7
ändere in
Code:
Tabelle1.ListObjects(1).DataBodyRange.AutoFilter 13
22.11.2018, 15:29
Hallöchen,
oder so. Beim Aufruf des Programms rufe ich noch den Filterstatus ab und setze die Checkboxen entsprechend. Damit dadurch nicht der Click-Code beim Setzen erneut filtert, habe ich per Tag mitgeteilt, dass gerade was anderes läuft
Den Filtercode hab ich zwecks Optimierung ausgelagert.
oder so. Beim Aufruf des Programms rufe ich noch den Filterstatus ab und setze die Checkboxen entsprechend. Damit dadurch nicht der Click-Code beim Setzen erneut filtert, habe ich per Tag mitgeteilt, dass gerade was anderes läuft
Den Filtercode hab ich zwecks Optimierung ausgelagert.
Code:
Private Sub UserForm_Activate()
SetCheck
End Sub
Private Sub CheckBox1_Click()
If Me.Tag = "" Then Filtern
End Sub
Private Sub CheckBox2_Click()
If Me.Tag = "" Then Filtern
End Sub
Private Sub CheckBox3_Click()
If Me.Tag = "" Then Filtern
End Sub
Private Sub CheckBox4_Click()
If Me.Tag = "" Then Filtern
End Sub
Private Sub CheckBox5_Click()
If Me.Tag = "" Then Filtern
End Sub
Sub Filtern()
'FilternBEA Makro
With ActiveWorkbook.SlicerCaches( _
"Datenschnitt_Spalte12")
.SlicerItems("BEE").Selected = CheckBox1.Value
.SlicerItems("BEA").Selected = CheckBox2.Value
.SlicerItems("BGS").Selected = CheckBox3.Value
.SlicerItems("BPP").Selected = CheckBox4.Value
.SlicerItems("BTT").Selected = CheckBox5.Value
End With
End Sub
Sub SetCheck()
'FilternBEA Makro
Me.Tag = "!"
With ActiveWorkbook.SlicerCaches( _
"Datenschnitt_Spalte12")
CheckBox1.Value = .SlicerItems("BEE").Selected
CheckBox2.Value = .SlicerItems("BEA").Selected
CheckBox3.Value = .SlicerItems("BGS").Selected
CheckBox4.Value = .SlicerItems("BPP").Selected
CheckBox5.Value = .SlicerItems("BTT").Selected
End With
Me.Tag = ""
End Sub
22.11.2018, 18:36
Nun mit Klasse:
22.11.2018, 18:36
Nun mit Klasse:
23.11.2018, 07:40
Alles klar danke euch beiden es funkioniert!
Seiten: 1 2