25.10.2021, 13:59 (Dieser Beitrag wurde zuletzt bearbeitet: 25.10.2021, 13:59 von Luk1154.)
Hallo,
ich suche nach einem VBA Code der via Button bzw. Knopf ausgelöst wird.
Der Code soll nach dem Wert (Worksheet.Dasboard B4) im Workseet.Datensatz B:B suchen und bei einer Übereinstimmung direkt in die Zeile springen bzw. eigentlich auf der Seite direkt den Filter auf den Wert in B4 setzen und auf das Worksheet Datensatz wechseln.
Formel habe ich hinbekommen -> =WENNFEHLER(HYPERLINK("#Datensatz!B"&VERGLEICH(B4;Datensatz!B:B;0);"Gehe zu");"")
Ich habe da viel über Google gesucht und ausprobiert umgeschrieben, aber ich komme leider zu keinem Ergebnis.
Also das mit dem Hyperlink habe ich hinbekommen. Dennoch wäre es natürlich geil ein VBA Marko zu haben was quasi den Wert aus Worksheet.Dasboard B4 nimmt und auf dem Worksheet.Datensatz den Filter in Spalte B auf den Wert aus B4 setzt (natürlich sollten davor alle Filter nochmal aufgehoben werden). und die Ansicht direkt auf diese Seite springt.
Also quasi Makro Filter-reset + Filter Setzen + Hyperlink funktion.
bitte mal den kleinen Code testen ob der Autofilter einwandfrei funktioniert. Den Rangebereich bitte selbst anpassen. Zur Zeit von A-D im Code Wenn der Filter mit Spalte B beginnt die Zahl "2" hinter AutoFilter auf 1 für Spalte 1 setzen!
mfg Gast 123
Code:
Sub Test() Dim DashWert As Long, lz1 As Long DashWert = Worksheets("Dashbord").Range("B4").Value Worksheets("Datensatz").Select ActiveSheet.AutoFilterMode = False lz1 = ActiveSheet.UsedRange.Rows.Count '** Bitte den Range Bereich selbst anpassen Range("A2:D" & lz1).AutoFilter 2, Criteria1:=DashWert End Sub
Ihr findet mal im Anhang ein Beispiel, wie es aktuell aussieht. Das mit VBA Autofilter setzen und springe zum anderen Blatt wäre schon noch eine Nette sache.
Eventuell braucht man dann noch ein zweites Makro "Alle Filter aufheben".
probier es bitte mal mit dem geänderten Code. Im Beispiel klappte es.
mfg Gast 123
Code:
Sub Test() Dim DashWert As Variant DashWert = Worksheets("Dashboard").Range("B4").Value Worksheets("Datensatz").Select ActiveSheet.AutoFilterMode = False ActiveSheet.ListObjects("Tabelle1").Range.AutoFilter Field:=2, Criteria1:=DashWert End Sub