12.10.2017, 10:20
Hallo zusammen,
ich habe ein Tabellenblatt entworfen auf dem in Zeile 4 ein Auto Filter dauerhaft aktiviert ist.
Spalte A enthält bestimmte Produkte, die unterschiedliche Eigenschaften haben. Diese Eigenschaften werden ab der Spalte L (AutoFilter Feld 12), derzeit bis Spalte AC, einzeln gefiltert. In den Zellen steht jeweils eine 1 wenn das Produkt die Eigenschaft der Überschrift in Zeile 4 hat. Daher wird im Auto Filter immer nur der Wert 1 herausgefiltert.
Um mir die Bedienung einfacher zu gestalten habe ich mir ein UserForm erstellt, auf dem derzeit 18 Checkboxen vorhanden sind. Mit deren Hilfe kann ich mit dem nachfolgenden Code jeweils die Filter aktivieren.
Geht jeweils einzeln für insgesamt 18 Checkboxen so weiter...
Nun möchte ich jedoch beim Aufruf des UserForm eine Prüfung der jeweiligen Autofilter durchführen und jeweils in der damit verbundenen Checkbox auf dem UserForm den Haken setzen.
Den Code hierzu stelle ich mir dann irgendwie so vor...
Kann mir bitte jemand bei der Ausformulierung des Codes weiterhelfen, bin leider VBA-Newbie
Vielen Dank auf jeden Fall schon mal vorab für die Hilfe und Unterstützung!!!
ich habe ein Tabellenblatt entworfen auf dem in Zeile 4 ein Auto Filter dauerhaft aktiviert ist.
Spalte A enthält bestimmte Produkte, die unterschiedliche Eigenschaften haben. Diese Eigenschaften werden ab der Spalte L (AutoFilter Feld 12), derzeit bis Spalte AC, einzeln gefiltert. In den Zellen steht jeweils eine 1 wenn das Produkt die Eigenschaft der Überschrift in Zeile 4 hat. Daher wird im Auto Filter immer nur der Wert 1 herausgefiltert.
Um mir die Bedienung einfacher zu gestalten habe ich mir ein UserForm erstellt, auf dem derzeit 18 Checkboxen vorhanden sind. Mit deren Hilfe kann ich mit dem nachfolgenden Code jeweils die Filter aktivieren.
Code:
Private Sub CheckBox1_Click()
' Ansteuerung Checkbox 1
If CheckBox1.Value = True Then
ActiveSheet.Range("$A$4:$ZZ$100000").AutoFilter Field:=12, Criteria1:="1", _
Operator:=xlAnd
End If
If CheckBox1.Value = False Then
ActiveSheet.Range("$A$4:$ZZ$100000").AutoFilter Field:=12
End If
End Sub
Private Sub CheckBox2_Click()
' Ansteuerung Checkbox "Normalfunktion"
If CheckBox2.Value = True Then
ActiveSheet.Range("$A$4:$ZZ$100000").AutoFilter Field:=13, Criteria1:="1", _
Operator:=xlAnd
End If
If CheckBox2.Value = False Then
ActiveSheet.Range("$A$4:$ZZ$100000").AutoFilter Field:=13
End If
End Sub
Geht jeweils einzeln für insgesamt 18 Checkboxen so weiter...
Nun möchte ich jedoch beim Aufruf des UserForm eine Prüfung der jeweiligen Autofilter durchführen und jeweils in der damit verbundenen Checkbox auf dem UserForm den Haken setzen.
Den Code hierzu stelle ich mir dann irgendwie so vor...
Code:
Sub Schaltfläche1_Klicken()
UserForm1.Show
Wenn Filter in Spalte L auf Wert 1 gesetzt, dann setze den Wert der Checkbox1 auf WAHR.
Wenn Filter in Spalte M auf Wert 1 gesetzt, dann setze den Wert der Checkbox2 auf WAHR.
Wenn Filter in Spalte N auf Wert 1 gesetzt, dann setze den Wert der Checkbox3 auf WAHR.
Wenn Filter in Spalte O auf Wert 1 gesetzt, dann setze den Wert der Checkbox4 auf WAHR.
...
End Sub
Kann mir bitte jemand bei der Ausformulierung des Codes weiterhelfen, bin leider VBA-Newbie
Vielen Dank auf jeden Fall schon mal vorab für die Hilfe und Unterstützung!!!