ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   how can i re-sort multiple worksheets into alphabetical order (https://www.excelbanter.com/excel-discussion-misc-queries/24929-how-can-i-re-sort-multiple-worksheets-into-alphabetical-order.html)

Stuart

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.

Niek Otten

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.




MikeSN

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.





bala_vb

Quote:

Originally Posted by Stuart (Post 81150)
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.

try this code,

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


All times are GMT +1. The time now is 09:52 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com