Đếm tổng số trang in trên 1 Worksheet hoặc trong Woorkbook (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

tedaynui

(*_*)
Thành viên danh dự
Tham gia
12/8/06
Bài viết
1,875
Được thích
2,480
Vì thấy có 1 số các bạn muốn biết số trang cần in trong Sheet hoặc trong File. Đây là 1 đoạn codes ngắn có thể giúp ta đếm được có bao nhiêu trang in trong 1 Worksheet hoặc tất cả các trang trong 1 Workbook.
PHP:
Option Explicit

Sub Pages_Count()
Dim n%, m%, i%, Pages%
Dim ws As Worksheet
Application.ScreenUpdating = False
    For Each ws In ActiveWorkbook.Sheets
        ws.Select
        Pages = ExecuteExcel4Macro("Get.Document(50)")
        n = 0
        For i = 1 To Pages
            n = n + 1
        Next i
            m = m + n
            MsgBox "Sheet <" & ActiveSheet.Name & ">" & Chr(13) & _
                    "Co tat ca : " & n & " trang.", , "Tedaynui"
    Next ws
                MsgBox "File <" & UCase(ThisWorkbook.Name) & ">" & Chr(13) & _
                    "Co tat ca : " & m & " trang.", , "Tedaynui"
Sheet1.Select
Application.ScreenUpdating = True
End Sub
Hy vọng ít nhiều nó có ích.

TDN
 

File đính kèm

Lần chỉnh sửa cuối:
Mình chưa kiểm tra lại Sub này, tuy nhiên nên cho nó thành 1 Function để gọi ra thì dễ hơn nhiều, chỉ cần gọi đến Sh nào thì sẽ cho ngay số trang in.

Thân!
 
Upvote 0
Góp ý:
Mã:
...
n = 0
For i = 1 To Pages
    n = n + 1
Next i
...
Như vậy thì n luôn luôn bằng pages.
Do đó bỏ những câu lệnh trên, và các câu lệnh sau chỗ nào có biến n thì thay bằng biến Pages.
 
Upvote 0
nvson đã viết:
Góp ý:
Mã:
...
n = 0
For i = 1 To Pages
    n = n + 1
Next i
...
Như vậy thì n luôn luôn bằng pages.
Do đó bỏ những câu lệnh trên, và các câu lệnh sau chỗ nào có biến n thì thay bằng biến Pages.
Đúng như góp ý của nvson đúng là mình quá ngớ ngẩn, đoạn codes đó dư thừa. Mình đã chỉnh lại trong File và Up lại ở bài #1
Cám ơn bạn rất nhiều !

TDN
 
Upvote 0
Đếm tổng số trang in thì ko khó, nhưng có cách nào biết dc trang hiện hành là trang thứ mấy ko? (tất nhiên với cac settings về trang in đã dc đặt trước)
Trò này mới là khó đây!
ANH TUẤN
 
Upvote 0
anhtuan1066 đã viết:
Đếm tổng số trang in thì ko khó, nhưng có cách nào biết dc trang hiện hành là trang thứ mấy ko? (tất nhiên với cac settings về trang in đã dc đặt trước)
Trò này mới là khó đây!
ANH TUẤN

Bác theo dõi bài "Dòng Tổng cộng cuối được mang sang" (gần như thế), thì sẽ tìm ra cách xác định này.

Thân!
 
Upvote 0
Xác định trang hiện hành là trang thứ mấy?

anhtuan1066 đã viết:
Đếm tổng số trang in thì ko khó, nhưng có cách nào biết dc trang hiện hành là trang thứ mấy ko? (tất nhiên với cac settings về trang in đã dc đặt trước)
Trò này mới là khó đây!
ANH TUẤN

Mò mẫm hồi lâu, các bác thử đoạn code sau xem sao nhé!
Mã:
Option Explicit
 
Sub Pages_i()
On Error Resume Next
Application.ScreenUpdating = False
Dim i As Integer, j As Integer
Dim dong As Double, cot As Double
 
dong = ActiveCell.Row
cot = ActiveCell.Column
 
ActiveWindow.View = xlPageBreakPreview
 
For i = 1 To ActiveSheet.HPageBreaks.Count
    If dong < ActiveWindow.SelectedSheets.HPageBreaks(i).Location.Row Then
        Exit For
    End If
Next i
 
For j = 1 To ActiveSheet.VPageBreaks.Count
    If cot < ActiveWindow.SelectedSheets.VPageBreaks(j).Location.Column Then
        Exit For
    End If
Next j
 
If ActiveSheet.PageSetup.Order = xlDownThenOver Then
    MsgBox "Ban dang o Trang: " & (ActiveSheet.HPageBreaks.Count + 1) * (j - 1) + i
Else
    '.Order = xlOverThenDown
    MsgBox "Ban dang o Trang: " & (ActiveSheet.VPageBreaks.Count + 1) * (i - 1) + j
End If
 
ActiveWindow.View = xlNormalView
Application.ScreenUpdating = True
End Sub
 
Upvote 0
Vì thấy có 1 số các bạn muốn biết số trang cần in trong Sheet hoặc trong File. Đây là 1 đoạn codes ngắn có thể giúp ta đếm được có bao nhiêu trang in trong 1 Worksheet hoặc tất cả các trang trong 1 Workbook.
PHP:
Option Explicit

Sub Pages_Count()
Dim n%, m%, i%, Pages%
Dim ws As Worksheet
Application.ScreenUpdating = False
    For Each ws In ActiveWorkbook.Sheets
        ws.Select
        Pages = ExecuteExcel4Macro("Get.Document(50)")
        n = 0
        For i = 1 To Pages
            n = n + 1
        Next i
            m = m + n
            MsgBox "Sheet <" & ActiveSheet.Name & ">" & Chr(13) & _
                    "Co tat ca : " & n & " trang.", , "Tedaynui"
    Next ws
                MsgBox "File <" & UCase(ThisWorkbook.Name) & ">" & Chr(13) & _
                    "Co tat ca : " & m & " trang.", , "Tedaynui"
Sheet1.Select
Application.ScreenUpdating = True
End Sub
Hy vọng ít nhiều nó có ích.

TDN
Cám ơn bạn đã chia sẻ. Mình đang cần cái này, thử trên excel 2003 thì ok nhưng trên excel 2010 thì nó chỉ đếm được có 1 trang in. Ai có cách nào đếm được tổng số trang in trên excel 2010 thì chỉ mình với. Thanks!.
 
Upvote 0
Các anh có thể phát triển thêm mục lục tên các sheet và số trang của từng sheet giúp em với được không ạ.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom