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.
Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!
Add an ampersand to the text in a header or footer and you may be surprised that the ampersand disappears on your ...
Discover MorePage numbers in Excel printouts are typically simple counters, without much chance for embellishment. If you want to add ...
Discover MoreNeed to show a custom date in the header or footer of a printout? You'll need to resort to using a macro, as described in ...
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