当你某一列里的数据很多,需要按这一列的筛选数据分列打印时,这个自动打印的功能非常省事。
Sub autoprint()
Dim d
Dim arr
Dim i%, nrow%, s%
nrow = Range(“A65536”).End(3).Row ‘第1列最后可见非空单元行号(A列分类)
arr = Range(“A3:A” & nrow) ‘创建数组,标题行在第2行
s = UBound(arr) ‘一维数组最后项数Set d = CreateObject(“Scripting.Dictionary”) ‘创建字典对象
For i = 1 To s ‘循环数组各项
d(arr(i, 1)) = “” ‘纳入字典
Next
Range(“1:1”).AutoFilter ‘选择第2行自动筛选(标题行在第2行)For i = 1 To d.Count ‘循环字典项
Selection.AutoFilter Field:=1, Criteria1:=Application.Index(d.keys, 0, i) ‘以字典各项自动筛选
ActiveWindow.SelectedSheets.PrintOut ‘打印当前表
NextSelection.AutoFilter ‘取消自动筛选,全部显示
End Sub
按列A分类打印 实现自动打印的功能 非常方便。
