Ich versuche momentan mittels VBA eine Prozedur zu schreiben, welche mir nach Betätigen eines Buttons ausgewählte Bereiche bzw. Zeilen ausblendet.
Die Tabelle besteht im vereinfachten Zustand aus einer Spalte A, welche das Datum aufführt. In Spalte B und C sind Kennzahlen bzw. Faktoren. Es soll nun geprüft werden, welcher Wert für das aktuelle Datum in Spalte B ist und entsprechend nur diese Zeilen mit dem Wert aufgelistet werden.
Ich habe es bereits über spezielle Filter probiert, aber dies ist wohl nicht mit einem Button zu verknüpfen. Habe auch bereits über die Makroaufzeichnung versucht weiterzukommen, jedoch ohne Erfolg :/
Hat jemand eine Idee bzw. hilfreiche Ansätze? Beste Grüße
Private Sub CommandButton1_Click() Dim searchCrit With ListObjects(1) searchCrit = WorksheetFunction.VLookup(CLng(Date), .Range, 2, False) .Range.AutoFilter field:=2, Criteria1:=searchCrit .Range.AutoFilter field:=3, Criteria1:=searchCrit End With End Sub
31.10.2017, 16:55 (Dieser Beitrag wurde zuletzt bearbeitet: 31.10.2017, 16:55 von joshua.)
Vielen Dank für eure Beiträge ! (:
Tut mir leid, dass ich mich so grob ausgedrückt habe. Die erste Schaltfläche filtert nach dem Wert für heute in Spalte B und eine zweite Schaltfläche für die Werte in Spalte C.
@Werner: Also fast, nur das der Filter auf eine Spalte jeweils bezogen wird (:
@Jonas: Sitze an deinem Code noch! Bekomme Ihn leider nicht zum Laufen :/
Code:
Private Sub CommandButton1_Click() Dim searchCrit With Worksheets("Tabelle1") searchCrit = WorksheetFunction.VLookup(CLng(Date), .Range("B:B"), False) .Range.AutoFilter field:=2, Criteria1:=searchCrit .Range.AutoFilter field:=3, Criteria1:=searchCrit End With End Sub
Vielen Dank, also genauso wie in der Excel-Funktion.
Folgende Prozedur ist leider weiterhin fehlerhaft:
Code:
Private Sub CommandButton1_Click() Dim searchCrit With Worksheets("Tabelle1") searchCrit = WorksheetFunction.VLookup(CLng(Date), .Range("A4:B369"), False) .Range.AutoFilter field:=2, Criteria1:=searchCrit End With End Sub
"VLookup-Eigenschaft kann nicht zugeordnet werden."
SVERWEIS benötigt auch noch die Spalte, aus der was geholt werden soll.
Genau, mit der Variable searchcrit wird das heitige Datum als Suchkriterium bestimmt. Mit ".Range.AutoFilter field:=2" wird doch der SpaltenIndex bestimmt, analog zur SVERWEIS-Funktion. Bzw. was genau übersehe ich? (: