我正在使用 Microsft 2016,两张工作表上有两个表。它们共享一个公共列。我希望能够以某种方式链接它们,以便当我在公共列中筛选一个表时,另一个表会自动筛选该公共列。公共列没有唯一值 - 其中一些是重复的,一些可能从一个表到另一个表都缺失,但它们在大多数情况下是相同的。我只是想这样做,以便更快地进行筛选,而不必在两个表中输入相同的筛选器。
答案1
:警告:
您要尝试的操作只能通过使用 VBA 宏来实现,并且您需要遵循以下步骤:
怎么运行的:
- 在一张工作表中或两张不同的工作表中创建两个表。
- 在单元格 T43 和 T44 中输入标准(两个表中的数据/值相同)。
- 点击 DEVELOPER 选项卡,然后选择 DESIGN 模式,找到其左侧的 INSERT。
- 表单插入、ACTIVE X 控件,选择命令按钮并在工作表上绘制。
选择命令按钮并右键单击并点击属性。
现在从列表中找到 CAPTION 并像我一样更改它,或者您也可以输入您选择的名称。
双击命令按钮,Excel 将打开 VB 编辑器。
复制并粘贴 VBA 代码,
Private Sub CommandButton1_Click() Copy below show code here,,, End Sub
要复制和粘贴的代码:
lookupdata1 = Range("T43").Value
lookupdata2 = Range("T44").Value
ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=1
ActiveSheet.ListObjects("Table2").Range.AutoFilter Field:=1
ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=1, Operator:=xlFilterValues, _
Criteria1:=Array("=" & Range("T43").Value, "=" & Range("T44").Value)
ActiveSheet.ListObjects("Table2").Range.AutoFilter Field:=1, Operator:=xlFilterValues, _
Criteria1:=Array("=" & Range("T43").Value, "=" & Range("T44").Value)
- 按 ALT+Q 返回工作表。
- 从“开发者”选项卡关闭“设计”模式。
- 将工作簿保存为启用宏。
- 现在点击命令按钮。
你会发现 Excel 已经根据公共数据同时筛选了两个表
注意: 您可以添加更多条件,在这种情况下您需要编辑此行
Criteria1:=Array("=" & Range("T43").Value, "=" & Range("T44").Value)
例如:
Criteria1:=Array("=" & Range("T43").Value, "=" & Range("T44").Value, "=" & Range("T45").Value)
您还可以根据需要调整单元格引用和标准。