TỜ MỜ SÁNG
Thành viên mới

- Tham gia
- 10/4/21
- Bài viết
- 4
- Được thích
- 0
File đính kèm
Lần chỉnh sửa cuối:
Sub AutoPrint()
Dim i, mx, mn
mx = Application.RoundDown(Application.Max(Range("D:D")), 0)
mn = Application.RoundDown(Application.Min(Range("D:D")), 0)
For i = mn To mn
ActiveSheet.Range("$A$1:$P$18385").AutoFilter Field:=1, Criteria1:=Format(i, "dd-mm-yy")
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
Next
End Sub
Mã chạy được, nhưng chỉ in đúng 1 ngày đầu ạ, bác có thể hỗ trợ chỉnh lại code để có thể in tiếp tục không ạ, cám ơn bác rất nhiều!Thử code này xem thế nào bạn:
PHP:Sub AutoPrint() Dim i, mx, mn mx = Application.RoundDown(Application.Max(Range("D:D")), 0) mn = Application.RoundDown(Application.Min(Range("D:D")), 0) For i = mn To mn ActiveSheet.Range("$A$1:$P$18385").AutoFilter Field:=1, Criteria1:=Format(i, "dd-mm-yy") ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False Next End Sub
Ah, sorry bạn, lúc test mình thử cho mã đầu thôi, quên chưa sửa hết. Bạn thay đoạn for i=mn to mn thành for i=mn to mx nhé.Mã chạy được, nhưng chỉ in đúng 1 ngày đầu ạ, bác có thể hỗ trợ chỉnh lại code để có thể in tiếp tục không ạ, cám ơn bác rất nhiều!
Sub AutoPrint()
Dim i, mx, mn
mx = Application.RoundDown(Application.Max(Range("D:D")), 0)
mn = Application.RoundDown(Application.Min(Range("D:D")), 0)
For i = mn To mx
ActiveSheet.Range("$A$1:$P$18385").AutoFilter Field:=1, Criteria1:=Format(i, "dd-mm-yy")
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
Next
End Sub
CÁM ƠN BÁC NHIỀU LẮM, VẤN ĐỀ ĐÃ ĐƯỢC THÔNG!Ah, sorry bạn, lúc test mình thử cho mã đầu thôi, quên chưa sửa hết. Bạn thay đoạn for i=mn to mn thành for i=mn to mx nhé.
PHP:Sub AutoPrint() Dim i, mx, mn mx = Application.RoundDown(Application.Max(Range("D:D")), 0) mn = Application.RoundDown(Application.Min(Range("D:D")), 0) For i = mn To mx ActiveSheet.Range("$A$1:$P$18385").AutoFilter Field:=1, Criteria1:=Format(i, "dd-mm-yy") ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False Next End Sub
Bác ơi, mình còn vấn đề này, lúc đầu không nói rõ yêu cầu, file này có những ngày không thực hiện, nên có thể không liền ngày, lúc này lệnh in vẫn thực hiện, và chỉ in mỗi tiêu đề, mình cần bỏ qua những ngày không có dữ liệu được không ạ?Ah, sorry bạn, lúc test mình thử cho mã đầu thôi, quên chưa sửa hết. Bạn thay đoạn for i=mn to mn thành for i=mn to mx nhé.
PHP:Sub AutoPrint() Dim i, mx, mn mx = Application.RoundDown(Application.Max(Range("D:D")), 0) mn = Application.RoundDown(Application.Min(Range("D:D")), 0) For i = mn To mx ActiveSheet.Range("$A$1:$P$18385").AutoFilter Field:=1, Criteria1:=Format(i, "dd-mm-yy") ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False Next End Sub
Như này nhé bạn!Bác ơi, mình còn vấn đề này, lúc đầu không nói rõ yêu cầu, file này có những ngày không thực hiện, nên có thể không liền ngày, lúc này lệnh in vẫn thực hiện, và chỉ in mỗi tiêu đề, mình cần bỏ qua những ngày không có dữ liệu được không ạ?
Sub AutoPrint()
Dim i, mx, mn
mx = Application.RoundDown(Application.Max(Range("D:D")), 0)
mn = Application.RoundDown(Application.Min(Range("D:D")), 0)
For i = mn To mx
If Application.CountIf(Range("A:A"), CStr(Format(i, "dd-mm-yy"))) > 0 Then
ActiveSheet.Range("$A$1:$P$18385").AutoFilter Field:=1, Criteria1:=Format(i, "dd-mm-yy")
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
End If
Next
End Sub