有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