ich beschäftige mich erst seit einigen Tagen mit VBA und komme an einer Stelle nicht weiter.
Per Schaltfläche (Formularsteuerelement) rufe ich ein Makro zur Autofilterung von Daten auf. Ich habe insgesamt 3 Schaltflächen, mit denen ich 3 verschiedene Filter aktiviere.
Hinter jeder Schaltfläche steht ein eigenes Makro.
Diese unterscheiden sich aber nur marginal voneinander, sodass ich das insofern optimieren möchte, dass ich auslese welche der Schaltflächen gedrückt wurde, um dann "If Button Filter 1 gedrückt; Dann XY" zu ermöglichen.
Ich konnte trotz intensiver Suche kein Beispiel finden, welches diese Funktion zeigt.
Mein "Filter Code"
Sub FilterHeute()
Application.ScreenUpdating = False
tblPb.Unprotect
tblEin.Unprotect
tblPb.Cells(2, 1).Select
If tblPb.FilterMode = True Then
tblPb.ListObjects(1).AutoFilter.ShowAllData
tblPb.ListObjects(1).ShowAutoFilter = False
Dim varCB As Integer
For varCB = 2 To 12 Step 2
tblEin.Cells(varCB, 3).Value = False
Next varCB
tblPb.Activate
tblPb.Cells(2, 1).Select
Selection.End(xlDown).Offset(1, 0).Select
ActiveWindow.ScrollRow = Selection.Row
ActiveWindow.SmallScroll Up:=15
Else
'Der Rowindex von Cells müsste sich abhängig vom gedrückten Button ändern
tblEin.Cells(2, 3).Value = True
'Die RGB Werte von Criteria1 müssten sich abhängig vom gedrückten Button ändern
tblPb.Range(Cells(3, 8), Cells(1500, 15)).AutoFilter Field:=1, Criteria1:=RGB(235, 255, 163), Operator:=xlFilterCellColor, VisibleDropDown:=False
Dim varFF As Integer
For varFF = 2 To 15
tblPb.Range(Cells(3, 8), Cells(1500, 15)).AutoFilter Field:=varFF, Criteria1:="=""""", Operator:=xlOr, Criteria2:=">""""", VisibleDropDown:=False
Next varFF
Application.Goto Reference:=tblPb.Cells(2, 1), Scroll:=True
End If
tblEin.Protect
tblPb.Protect
Application.ScreenUpdating = True
End Sub
Zum Verständnis: Das Makro setzt auf "tblEin" eine Zelle auf "True", welche ich dann über eine bedingte Formatierung auslese. Die Änderung der im Code angesprochenen Werte sollte ich problemlos über eine Variable realisieren können.
Beispieldatei ist anbei. Die Datei dient der Ermittlung und Überwachung von Prüfterminen anhand eines Ausgangsdatums. Blattschutz ist ohne PW.
https://www.herber.de/bbs/user/163340.xlsm
Da ich blutiger Anfänger bin, nehme ich auch gerne Hinweise/Tipps allgemeiner Natur zum Code oder zu anderen Möglichkeiten der Umsetzung gerne entgegen.
Vielen Dank schon einmal.
Liebe Grüße,
DerLaborant