Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Filter in Userform
#11
Dann solltest du die Code anpassen die Autofilter ausschaltet. z.B
Code:
sheet1.showalldata
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • elamigo
Antworten Top
#12
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: 
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. :(
Antworten Top
#13
Dus hast nur eine Codezeile angepast.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#14
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
Antworten Top
#15
@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
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 Sleepy


Angehängte Dateien
.xlsm   Forum.xlsm (Größe: 62,17 KB / Downloads: 5)
Antworten Top
#16
Code:
Tabelle1.ListObjects(1).DataBodyRange.AutoFilter 7

ändere in

Code:
Tabelle1.ListObjects(1).DataBodyRange.AutoFilter 13
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • elamigo
Antworten Top
#17
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 Smile
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
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • elamigo
Antworten Top
#18
Nun mit Klasse:
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#19
Nun mit Klasse:


Angehängte Dateien
.xlsm   __Forum_class.xlsm (Größe: 33,25 KB / Downloads: 10)
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#20
Alles klar danke euch beiden es funkioniert!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste