How to Change Arabic Page Numbers to Roman Numerals (139403)



The information in this article applies to:

  • Microsoft Excel 97 for Windows
  • Microsoft Excel for Windows 95
  • Microsoft Excel for Windows 5.0
  • Microsoft Excel 98 Macintosh Edition

This article was previously published under Q139403

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. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to 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 requirements. 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

Modification Type:MinorLast Reviewed:10/11/2006
Keywords:kbcode kbhowto kbProgramming KB139403