XL: How to Change Arabic Page Numbers to Roman Numerals

Last reviewed: February 3, 1998
Article ID: Q139403
The information in this article applies to:
  • Microsoft Excel for Windows versions 5.0, 5.0c
  • Microsoft Excel for the Macintosh, versions 5.0, 5.0a
  • Microsoft Excel for Windows 95, versions 7.0, 7.0a
  • Microsoft Excel 97 for Windows
  • Microsoft Excel 98 Macintosh Edition

SUMMARY

Microsoft Word for Windows has a page numbering option that converts the arabic page numbers to Roman numerals. Microsoft Excel does not have the equivalent built-in functionality; however, this feature can be emulated with a Microsoft Visual Basic for Applications macro or procedure.

MORE INFORMATION

Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs. If you have limited programming experience, you may want to contact the Microsoft fee-based consulting line at (800) 936-5200. For more information about the support options available from Microsoft, please see the following page on the World Wide Web:

   http://www.microsoft.com/support/supportnet/refguide/default.asp

The following example prints out all of the pages in the active worksheet and converts all page numbers to Roman numerals in the process.

To use the following macro, you will need to set up a Microsoft Excel file as follows:

  1. Create a new, blank Microsoft Excel workbook.

  2. Insert a Visual Basic for Applications module in the workbook.

  3. In the new module, type the following:

          Sub PrintRoman()
              ' There is no Visual Basic equivalent for the following
              ' function call to find the total number of pages that
              ' will print on the active worksheet.
              NumOfPages = ExecuteExcel4Macro("GET.DOCUMENT(50)")
              ' Loop through all the pages.
              For x = 1 To NumOfPages
    
                  ' Set the center footer to the Pagenumber in Roman.
                  '
                  ' NOTE: In Microsoft Excel 97 and Microsoft Excel 98, use:
                  '
                  '    WorksheetFunction.Roman(x)
                  '
                  ' instead of:
                  '
                  '    Application.Roman(x)
                  ActiveSheet.PageSetup.CenterFooter = Application.Roman(x)
    
                  ' Print out the current page.
                  ActiveSheet.PrintOut from:=x, to:=x
    
              Next x
              ' Clear the footer when finished printing.
              ActiveSheet.PageSetup.CenterFooter = ""
          End Sub
    
    

  4. Save the workbook, and run the macro.

    To run the macro, you can click Macro on the Tools menu, or you can assign it to a toolbar button or menu item.

REFERENCES

For more information about the ROMAN() function, click Help Topics and Search in Microsoft Excel 5.0, or click Index in Microsoft Excel 7.0 Help, and enter the following:

   ROMAN

"Microsoft Excel Function Reference," version 4.0, pages 196-199


Additional query words: 5.00 5.00a 5.00c 7.00 7.00a XL98 XL97 XL7 XL5 Roman
Page Setup Number Convert
Keywords : kbcode kbprg PgmHowto
Version : WINDOWS:5.0,5.0c,7.0; MACINTOSH:5.0,5.0a,98
Platform : MACINTOSH WINDOWS
Issue type : kbhowto


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: February 3, 1998
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.