试试这个小宏:
Sub AutoFilterHelper()
Dim sh1 As Worksheet, sh2 As Worksheet, N As Long
Dim ary()
Set sh1 = Sheets("WS1")
Set sh2 = Sheets("WS2")
N = sh2.Cells(Rows.Count, "A").End(xlUp).Row
ReDim ary(1 To N - 1)
For i = 1 To N - 1
ary(i) = sh2.Cells(i + 1, "A").Value
Next i
sh1.Range("H:H").AutoFilter Field:=1, Criteria1:=(ary), Operator:=xlFilterValues
End Sub
它将从 WS2 获取数据并将其用于 WS1. 中的过滤条件
如果 WS2 更改,只需重新运行宏 .
宏很容易安装和使用:
ALT-F11调出VBE窗口
ALT-I ALT-M打开一个新模块
粘贴内容并关闭VBE窗口
如果保存工作簿,宏将与其一起保存 . 如果您在2003年之后使用的是Excel版本,则必须将文件另存为.xlsm而不是.xlsx
要删除宏:
如上所述调出VBE窗口
清除代码
关闭VBE窗口
要使用Excel中的宏:
ALT-F8
选择宏
触摸RUN
要了解有关宏的更多信息,请参阅:
和
Macros must be enabled for this to work!