XL: How to Change Arabic Page Numbers to Roman Numerals

ID: Q139403

The information in this article applies to:

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 professionals 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/

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

Last Reviewed: May 17, 1999