一列筛选打印
Sub 一列自动筛选打印()
Dim slt_col
Dim arr, brr, i As Long
Dim rg As Range
Dim objDic As Object
Set slt_rng = Application.InputBox("请选拆分依据列!只能选择单列!", Title:="提示", Type:=8)
slt_col = slt_rng.Column
MsgBox " 准备按【" & ActiveSheet.Cells(1, slt_col) & "】列进行分类筛选,并打印"
Set rg = ActiveSheet.Range("a1").CurrentRegion
arr = ActiveSheet.Range("a1").CurrentRegion
Set objDic = CreateObject("scripting.dictionary")
'首先按第一拆分依据列进行筛选
For i = 2 To UBound(arr)
objDic(arr(i, slt_col)) = ""
Next
brr = objDic.keys
For i = LBound(brr) To UBound(brr)
rg.AutoFilter field:=slt_col, Criteria1:=brr(i) '其中的“slt_col”就是第一要筛选的列
ActiveSheet.PrintPreview
'ActiveSheet.PrintOut
Next i
rg.AutoFilter
MsgBox "【" & ActiveSheet.Cells(1, slt_col) & "】列分类筛选打印,完成!"
End Sub
2 1 2 下一页 尾页 |