Home |
Search |
Today's Posts |
#1
|
|||
|
|||
how can i re-sort multiple worksheets into alphabetical order
I have a barrowload of multiple worksheets, but now client wants them in a
different order, is there, to save time, any way that Excel can re-sort them in Alphabetical order. |
#2
|
|||
|
|||
http://www.cpearson.com/excel/sortws.htm
-- Kind Regards, Niek Otten Microsoft MVP - Excel "Stuart" wrote in message ... I have a barrowload of multiple worksheets, but now client wants them in a different order, is there, to save time, any way that Excel can re-sort them in Alphabetical order. |
#3
Posted to microsoft.public.excel.misc
|
|||
|
|||
how can i re-sort multiple worksheets into alphabetical order
Public Sub SortSheets()
Dim currentUpdating As Boolean currentUpdating = Application.ScreenUpdating Application.ScreenUpdating = False For Each xlSheet In ActiveWorkbook.Worksheets For Each xlSheet2 In ActiveWorkbook.Worksheets If LCase(xlSheet2.Name) < LCase(xlSheet.Name) Then xlSheet2.Move befo=xlSheet End If Next xlSheet2 Next xlSheet Application.ScreenUpdating = currentUpdating End Sub "Niek Otten" wrote: http://www.cpearson.com/excel/sortws.htm -- Kind Regards, Niek Otten Microsoft MVP - Excel "Stuart" wrote in message ... I have a barrowload of multiple worksheets, but now client wants them in a different order, is there, to save time, any way that Excel can re-sort them in Alphabetical order. |
#4
|
|||
|
|||
Quote:
Copy the code below. Open the Excel file in which you want to use the code. Hit Alt+F11 to open the Visual Basic Editor (VBE) window. From the menu, choose Insert-Module. Paste the code into the code window at right. Save the file and close the VBE. 'bala sesharao edited to sort worksheets Option Explicit Sub SortWorksheets() Dim N As Integer Dim M As Integer Dim FirstWSToSort As Integer Dim LastWSToSort As Integer Dim SortDescending As Boolean SortDescending = False If ActiveWindow.SelectedSheets.Count = 1 Then 'Change the 1 to the worksheet you want sorted first FirstWSToSort = 1 LastWSToSort = Worksheets.Count Else With ActiveWindow.SelectedSheets For N = 2 To .Count If .Item(N - 1).Index < .Item(N).Index - 1 Then MsgBox "You cannot sort non-adjacent sheets" Exit Sub End If Next N FirstWSToSort = .Item(1).Index LastWSToSort = .Item(.Count).Index End With End If For M = FirstWSToSort To LastWSToSort For N = M To LastWSToSort If SortDescending = True Then If UCase(Worksheets(N).Name) UCase(Worksheets(M).Name) Then Worksheets(N).Move Befo=Worksheets(M) End If Else If UCase(Worksheets(N).Name) < UCase(Worksheets(M).Name) Then Worksheets(N).Move Befo=Worksheets(M) End If End If Next N Next M End Sub
__________________
Thanks Bala |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Need to have multiple worksheets use a single worksheet | Excel Worksheet Functions | |||
fax multiple worksheets | Excel Worksheet Functions | |||
Extracting data from multiple worksheets into a list | Excel Worksheet Functions | |||
adding certain cells in multiple worksheets in multiple workbooks | Excel Worksheet Functions | |||
Countif with multiple criteria and multiple worksheets | Excel Worksheet Functions |