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

  

 

posted @ 2021-12-02 23:26  长命百岁  阅读(949)  评论(0编辑  收藏  举报