使用VBA代码从两个工作表中的下拉列表选择中筛选数据
如果在Sheet1中的下拉列表单元格和Sheet2中的过滤数据单元格,则从下拉列表中选择一项时,另一工作表将被滤除。 您如何在Excel中完成这项工作?
以下VBA代码可能会对您有所帮助,请这样做:
1。 右键单击包含下拉列表单元格的工作表选项卡,然后选择查看代码从上下文菜单中,在打开的适用于应用程序的Microsoft Visual Basic窗口,将以下代码复制并粘贴到空白模块中:
VBA代码:从两页的下拉列表选择中过滤数据:
Private Sub Worksheet_Change(ByVal Target As Range) 'Updateby Extendoffice On Error Resume Next If Not Intersect(Range("A2"), Target) Is Nothing Then Application.EnableEvents = False If Range("A2").Value = "" Then Worksheets("Sheet2").ShowAllData Else Worksheets("Sheet2").Range("A2").AutoFilter 1, Range("A2").Value End If Application.EnableEvents = True End If End Sub
备注:在上面的代码中:A2是包含下拉列表的单元格,并且Sheet2工作表包含要过滤的数据。 号码1在脚本中:自动筛选1是您要基于其过滤的列号。 您可以根据需要更改它们。
2。 从现在开始,当您从Sheet1的下拉列表中选择一项时,相应的数据将在Sheet2中被过滤掉,请参见屏幕截图:
最佳办公效率工具
Kutools for Excel解决了您的大多数问题,并使您的生产率提高了80%
重用: 快速插入复杂的公式,图表以及您以前使用过的任何东西;加密单元 带密码创建邮件列表 并发送电子邮件...超级公式栏 (轻松编辑多行文本和公式);阅读版式 (轻松读取和编辑大量单元格);粘贴到过滤范围...合并单元格/行/列 不会丢失数据; 拆分单元格内容;合并重复的行/列...防止细胞重复;比较范围...选择重复