有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
