Excel.Tips.Net Welcome toExcel.Tips.Net

Helpful Links

Tips.Net Home
ExcelTips Home
Ask an Excel Question
Make a Comment

Tips.Net Store

ExcelTips FAQ
ExcelTips Premium

Learn Access Now
Free Printable Forms

Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Legal Tips
Money Tips
Organizing Tips
Pest Tips
Pet Tips
Wedding Tips
Word2007 Tips
WordTips

Advertise on the
ExcelTips Site

Newest Tips

Converting to Octal

Filtering Columns for Unique Values

Printing Multiple Worksheets on a Single Page

Changing the Default Font

Creating a Drawing Object

Determining a Value of a Cell

Understanding Macros

 

Ordering Worksheets Based on a Cell Value

Summary: Need to sort your worksheets so that they appear in an order determined by the value of a cell on each worksheet? Using a macro you can make this ordering change relatively easily. (This tip works with Microsoft Excel 97, Excel 2000, Excel 2002, Excel 2003, and Excel 2007.)

Other issues of ExcelTips have provided ways that you can sort the worksheets in your workbook based on the worksheet name. What if you want to sort the worksheets based on a value in a given cell of each worksheet, however? For instance, you may have a series of worksheets that share the same general layout, and you want the worksheets ordered based on the value in cell H7 of each worksheet.

The only way to handle this is with a macro. The macro needs to step through each worksheet in the workbook, and then compare the key cell in each subsequent worksheet to see how it compares. If the cell value is less than the current worksheet, then the worksheet that contains the lesser value can be moved.

Sub SortWksByCell()
    Dim i As Integer
    Dim j As Integer

    For i = 1 To Worksheets.Count
        For j = i To Worksheets.Count
            If UCase(Worksheets(j).Range("H7")) < _
              UCase(Worksheets(i).Range("H7")) Then
                Worksheets(j).Move Before:=Worksheets(i)
            End If
        Next
    Next
End Sub

Note the use of the Move method, which does the actual movement of the worksheets. The names of the worksheets don't matter, only their positioning based on the value in cell H7 of each worksheet.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2890) applies to Microsoft Excel versions: 97 | 2000 | 2002 | 2003 | 2007

PivotTables Got You Perplexed? PivotTables for the Faint of Heart shows how you can start using Excel's PivotTable tool right away to spin your data into gold! You discover how easy it really is to crunch the numbers you need to crunch. Uncover the power of creating PivotTables, editing them, formatting them, customizing them, and much more.
 
Check out PivotTables for the Faint of Heart today!