您的当前位置:首页自动筛选打印VBA

自动筛选打印VBA

来源:小侦探旅游网
⾃动筛选打印VBA

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

以字典各项⾃动

因篇幅问题不能全部显示,请点此查看更多更全内容