Count Number of Print Pages on Worksheet with VBA

How to count number of print pages on a worksheet with vba and print specific pages automatically. Watch the video below:

Watch this video on YouTube.

Here’s the complete VBA code to determine the total number of pages that will be printed from worksheet data and how to print custom pages automatically:

Sub countPages()
Dim totPages As Integer

totPages = ActiveSheet.PageSetup.Pages.Count
MsgBox “The number of print pages on the worksheet is ” & totPages

End Sub

Sub printSpecificPages()
Dim startPage As Integer, endPage As Integer

startPage = InputBox(“enter a start page number to print”, “Start Page Number”)
endPage = InputBox(“Enter the last page number to print”, “Last Page Number”)

Worksheets.PrintOut from:=startPage, to:=endPage, copies:=1, preview:=True, collate:=True

End Sub

How to count the number of print pages if you have multiple worksheets:

Sub myTotWks()
Dim totpages As Long, gTotPages As Long
MsgBox Worksheets.Count
totpages = 0
gTotPages = 0

For i = 1 To Worksheets.Count

With Worksheets(i)

totpages = Worksheets(i).PageSetup.Pages.Count
gTotPages = gTotPages + totpages
End With

Next i

MsgBox gTotPages

End Sub

Further Reading:

Print Custom Pages


Published by

Dinesh Kumar Takyar

Welcome to! My aim is to help you learn MS Excel including VBA. I always felt that a good way to learn something was to find solutions to problems in that domain. That is why I share these Excel videos with you. Mostly these are questions asked during my corporate training sessions. I've been training individuals and companies in computers since 1991. I did my B. Sc. (Vordiplom), M. Sc. (Diplom) and Ph.D. (Dr. rer. nat.) from Hamburg, Germany. The best thing about solving some of my visitor's questions is that I also gain new insights. For more Excel VBA solutions you may like to visit my YouTube channel: For a structured Excel VBA training course online you can visit:

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.