Excel 宏编写案例 - 打印筛选的数据
有4万条数据,要求打印筛选过的数据,并且每一个筛选结果项打印一次,如图,每一个人打印一次,这里有5个人,那就需要打印5次,每页的内容只能有一个人的数据

下面是我写的宏
Sub printUser()
Sheet2.Columns("A").Delete
'从第一页的C列中拷贝出所有不重复的数据到第二页的A列中,这里只需关注Sheet1.Columns("需要指定复制的列")
Sheet1.Columns("D").AdvancedFilter Action:=xlFilterCopy, Unique:=True, CopyToRange:=Sheet2.Columns("A")
Sheet2.Rows(1).Delete
'================= 以上内容可拷贝到其它模块中独立运行 ==========================
Dim i As Integer
Dim filtValue As String
Dim rowCount As Integer
'因这里会立即进行打印,所以建议进行测试操作,测试的时候请把等号后面的值改为3,正式运行时等号后跟着Sheet2.UsedRange.Rows.Count
rowCount = Sheet2.UsedRange.Rows.Count
For i = 1 To rowCount
filtValue = Sheet2.Cells(i, 1).Value
'这里的Field:=4代表筛选人的列序号,4代表D列
Sheet1.Range("A1").AutoFilter Field:=4, Criteria1:=filtValue
Sheet1.PrintOut
Next
End Sub

浙公网安备 33010602011771号