Sub filterprint()Dim dDim arr
Dim i%, nrow%, s%Dim filtercol As StringDim filterrow As Integerfiltercol = \"F\" '筛选第⼏列
filterrow = 1 '在第⼏⾏进⾏筛选
nrow = Range(filtercol & \"65536\").End(3).Row '第1列最后可见⾮空单元⾏号(A列分类)arr = Range(filtercol & filterrow + 1 & \":\" & filtercol & nrow) '创建数组,标题⾏在第2⾏s = UBound(arr) '⼀维数组最后项数
Set d = CreateObject(\"Scripting.Dictionary\") '创建字典对象
For i = 1 To s '循环数组各项 d(arr(i, 1)) = \"\" '纳⼊字典Next
Range(filterrow & \":\" & filterrow).AutoFilter '选择第2⾏⾃动筛选(标题⾏在第2⾏)
For i = 1 To d.Count '循环字典项
Selection.AutoFilter Field:=Range(filtercol & filterrow).Column, Criteria1:=Application.Index(d.keys, 0, i) '筛选
ActiveWindow.SelectedSheets.PrintOut '打印当前表Next
Selection.AutoFilter '取消⾃动筛选,全部显⽰End Sub
以字典各项⾃动
因篇幅问题不能全部显示,请点此查看更多更全内容