第一张表(用户界面)上的过滤值与第二张表上的过滤值匹配

第一张表(用户界面)上的过滤值与第二张表上的过滤值匹配

我正在尝试制作一个界面仪表板 - 下面是一些屏幕截图。概念是将主页上下拉列表中的过滤值链接到第二页上一列中的相同过滤值。我似乎无法让它与各种变量一起工作。

这是一些屏幕截图和我当前的 VBA 代码。我在这里做错了什么?或者还有其他选择吗?

在此处输入图片描述

在此处输入图片描述

代码: 

Range("T8:V8").Select
Sheets(" Detail (Internal)").Select
ActiveSheet.Range("$A:$CT").AutoFilter Field:=16, Criteria1:=Range("T8").Value

感谢大家的帮助..

答案1

Selections 不会给您带来任何好处。Selection 和 ActiveSheet 的使用并不安全。

必须定义变量

Dim sheet1 As Worksheet, sheet2 As Worksheet
Dim range1 As Range, range2 As Range

然后获取并使用对工作表和范围的引用。例如:

Set sheet1 = ThisWorkbook.Sheets("Sheet1")
Set range1 = ThisWorkbook.Sheets("Sheet2").Range("T8")
sheet1.Range("$A:$CT").AutoFilter Field:=16, Criteria1:=range1.Value

或者

Set range1 = ThisWorkbook.Sheets("Sheet1").Range("$A:$CT")
Set range2 = ThisWorkbook.Sheets("Sheet2").Range("T8")
range1.AutoFilter Field:=16, Criteria1:=range2.Value

或者

Set sheet1 = ThisWorkbook.Sheets("Sheet1")
Set sheet2 = ThisWorkbook.Sheets("Sheet2")
sheet1.Range("$A:$CT").AutoFilter Field:=16, Criteria1:=sheet2.Range("T8").Value

等等...

相关内容