XLMac: How to Sort Sheets in a Workbook

Article translations Article translations
Article ID: 105069 - View products that this article applies to.
This article was previously published under Q105069
This article has been archived. It is offered "as is" and will no longer be updated.
Expand all | Collapse all

On This Page


Although there is no built-in tool to alphanumerically sort sheets, charts, and Microsoft Excel 4.0 macro sheets in a workbook, you can do this with a macro.

NOTE: In Microsoft Excel 98, you cannot sort modules, because they are displayed in the Visual Basic Editor.

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.

Sample Visual Basic Procedure

The following macro sorts all of the tabs in the active workbook in ascending order.
   Sub Sort_Active_Book()
       Dim i As Integer, j As Integer
       For i = 1 To Sheets.Count
           For j = 1 To Sheets.Count - 1
               If UCase$(Sheets(j).Name) > UCase$(Sheets(j + 1).Name) Then
                   Sheets(j).Move After:=Sheets(j + 1)
               End If
           Next j
       Next i
   End Sub
NOTE: If you want to sort the tabs in descending order instead of ascending order, change the greater than sign (>) to a less than sign (<) in the following line:

   If UCase$(Sheets(j).Name) > UCase$(Sheets(j + 1).Name) Then

so that it resembles this line:
   If UCase$(Sheets(j).Name) < UCase$(Sheets(j + 1).Name) Then
To use the macro, follow these steps:

  1. Start Microsoft Excel, and then create a new workbook.
  2. Press ALT+F11 to start Visual Basic Editor. On the Insert menu, click Module. Type the macro in the code window of the module. When you are finished typing the macro, click Close and Return to Microsoft Excel on the File menu.
  3. Open the workbook for which you want to sort the sheet tabs.
  4. On the Tools menu, point to Macros, and then click Macro.
  5. In the Macros list, click the Sort_Active_Book macro, and then click Run.
The tabs of the workbook are sorted.


Article ID: 105069 - Last Review: October 26, 2013 - Revision: 4.0
Applies to
  • Microsoft Excel X for Mac
  • Microsoft Excel 2001 for Mac
  • Microsoft Excel 98 for Macintosh
kbnosurvey kbarchive kbdtacode kbhowto kbprogramming KB105069

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com