Please Note: This article is written for users of the following Microsoft Excel versions: 2007, 2010, 2013, 2016, 2019, and Excel in Microsoft 365. If you are using an earlier version (Excel 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Excel, click here: Changing Page Number Format.
Written by Allen Wyatt (last updated January 4, 2020)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, and Excel in Microsoft 365
When you print a worksheet, you can have Excel include a variety of items in the header or footer of the printout. One of the things you can include is the page number of the page being printed. This page number is pretty mundane—it is the Arabic value of the page being printed, as in 1, 2, 3, etc.
Some people may long for a way to print page letters (A, B, C) instead of page numbers (1, 2, 3). There is no intrinsic way to do this in Excel. You can, however, develop a macro that will figure out the letter that should be associated with a page, and then use that letter in the footer. The following macro does just that:
Sub LetterPageNums() Dim sArr(27 * 26) As String Dim iPages As Integer Dim J As Integer, K As Integer ' Fill page letter array ' "A", "B", "C", ...,"AA", "AB", etc. For J = 0 To 26 For K = 1 To 26 If J > 0 Then sArr((J * 26) + K) = Chr(J + 64) & Chr(K + 64) Else sArr(K) = Chr(K + 64) End If Next K Next J ' Get count of pages in active sheet iPages = ExecuteExcel4Macro("Get.Document(50)") ' Print worksheet, page by page With ActiveSheet For J = 1 To iPages ' Set page letter .PageSetup.CenterFooter = sArr(J) ' Print page(J) .PrintOut From:=J, To:=J Next J End With End Sub
First, the macro figures out the letter equivalent of pages numbers and puts them in an array. In this case, up to 702 page letters are calculated, which should be more than enough for any print job. The letters are A through Z, then AA through AZ, BA through BZ, and all the way up to ZA through ZZ.
Then, iPages is set to the number of pages in the worksheet. Finally, each page is individually printed, with the page letter being placed into the center footer of the worksheet. If you want the page letter in some different place, use .LeftFooter or .RightFooter instead of the .CenterFooter property. (You can also use .LeftHeader, .CenterHeader, and .RightHeader, if desired.)
Note:
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (12930) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, and Excel in Microsoft 365. You can find a version of this tip for the older menu interface of Excel here: Changing Page Number Format.
Program Successfully in Excel! John Walkenbach's name is synonymous with excellence in deciphering complex technical topics. With this comprehensive guide, "Mr. Spreadsheet" shows how to maximize your Excel experience using professional spreadsheet application development tips from his own personal bookshelf. Check out Excel 2013 Power Programming with VBA today!
Don't like the default date format used by Excel when you place the date in a header or footer? You can use a macro to ...
Discover MoreExcel allows you to create headers and footers. In this tip you discover that the headers and footers in Excel may not be ...
Discover MoreDo you find that there is a lot of extra space around the data on your worksheet when it is printed? Changing the margins ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
There are currently no comments for this tip. (Be the first to leave your comment—just use the simple form above!)
Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2024 Sharon Parq Associates, Inc.
Comments