Ich versuche, ein Interface-Dashboard zu erstellen – einige Screenshots unten. Das Konzept besteht darin, den gefilterten Wert aus einer Drag-down-Liste auf der Hauptseite mit dem gleichen gefilterten Wert in einer Spalte auf der zweiten Seite zu verknüpfen. Ich scheine es mit den verschiedenen Variablen nicht zum Laufen zu bringen.
Hier sind einige Screenshots und mein aktueller VBA-Code. Was mache ich hier falsch? Oder gibt es eine Alternative dazu?
Code:
Range("T8:V8").Select
Sheets(" Detail (Internal)").Select
ActiveSheet.Range("$A:$CT").AutoFilter Field:=16, Criteria1:=Range("T8").Value
Ich bin für die Hilfe von jedem dankbar.
Antwort1
Auswahlen bringen Ihnen nichts. Die Verwendung von Auswahlen und ActiveSheets ist nicht sicher.
Sie müssen Variablen definieren
Dim sheet1 As Worksheet, sheet2 As Worksheet
Dim range1 As Range, range2 As Range
und dann Verweise auf Blätter und Bereiche abrufen und verwenden. Wie:
Set sheet1 = ThisWorkbook.Sheets("Sheet1")
Set range1 = ThisWorkbook.Sheets("Sheet2").Range("T8")
sheet1.Range("$A:$CT").AutoFilter Field:=16, Criteria1:=range1.Value
oder
Set range1 = ThisWorkbook.Sheets("Sheet1").Range("$A:$CT")
Set range2 = ThisWorkbook.Sheets("Sheet2").Range("T8")
range1.AutoFilter Field:=16, Criteria1:=range2.Value
oder
Set sheet1 = ThisWorkbook.Sheets("Sheet1")
Set sheet2 = ThisWorkbook.Sheets("Sheet2")
sheet1.Range("$A:$CT").AutoFilter Field:=16, Criteria1:=sheet2.Range("T8").Value
und so weiter...