Results 1 to 1 of 1

Thread: Sort Worksheet by Color VBA

  1. #1
    Administrator Admin's Avatar
    Join Date
    Mar 2011
    Posts
    1,122
    Rep Power
    10

    Lightbulb Sort Worksheet by Color VBA

    Hi All,

    Here is routine to sort the worksheets by tab color

    Code:
    Sub SortWorksheetsByColor(Optional ByVal SortByAsc As Boolean = True)
        
        Dim i           As Long
        Dim j           As Long
        Dim ShtC()      As Long
        Dim ShtN()      As String
        Dim t, n        As Long
        Dim lngSU       As Long
        
        'Developed by Kris @ ExcelFox.com
        'Works XL 2002 or later(Tested only 2007)
        
        With Application
            lngSU = .ScreenUpdating
            .ScreenUpdating = False
        End With
        
        If Val(Application.Version) >= 10 Then
            With ThisWorkbook
                For i = 1 To .Worksheets.Count
                    If .Worksheets(i).Visible = -1 Then
                        n = n + 1
                        ReDim Preserve ShtC(1 To n)
                        ReDim Preserve ShtN(1 To n)
                        ShtC(n) = .Worksheets(i).Tab.Color
                        ShtN(n) = .Worksheets(i).Name
                    End If
                Next
                For i = 1 To n
                    For j = i To n
                        If ShtC(j) < ShtC(i) Then
                            t = ShtN(i)
                            ShtN(i) = ShtN(j)
                            ShtN(j) = t
                            t = ShtC(i)
                            ShtC(i) = ShtC(j)
                            ShtC(j) = t
                        End If
                    Next
                Next
                If SortByAsc Then
                    For i = n To 1 Step -1
                        .Worksheets(CStr(ShtN(i))).Move before:=.Worksheets(1)
                    Next
                Else
                    For i = n To 1 Step -1
                        .Worksheets(CStr(ShtN(i))).Move after:=.Worksheets(.Worksheets.Count)
                    Next
                End If
            End With
        End If
        
        Application.ScreenUpdating = lngSU
        
    End Sub
    Call the routine like

    For ascending

    Code:
    SortWorksheetsByColor True
    for descending

    Code:
    SortWorksheetsByColor False


    https://www.youtube.com/channel/UCnxwq2aGJRbjOo_MO54oaHA
    https://www.youtube.com/watch?v=pkhazgI3LAo&lc=UgxesLhWNr_zNP0GUdh4AaABAg.9hI1CQJMLLo9hWn2pGBe SS
    https://www.youtube.com/watch?v=pkhazgI3LAo&lc=UgzkRujoMw9PblmXDQ14AaABAg.9hJRnEjxQrd9hJoCjomN I2
    https://www.youtube.com/watch?v=pkhazgI3LAo&lc=UgzPZbG7OvUkh35nXDd4AaABAg.9hJOZEEZa6p9hJqLC7El-w
    https://www.youtube.com/watch?v=pkhazgI3LAo&lc=UgwUcEpm8u6ZW3uOHXx4AaABAg.9hIlxxGY7t49hJsB2PWx C4
    https://www.youtube.com/watch?v=pkhazgI3LAo&lc=UgyvDj6NWT1Gxyy2JyR4AaABAg.9hIKlNPeqDn9hJskm92n p6
    https://www.youtube.com/watch?v=pkhazgI3LAo&lc=Ugwy7qx_kG9iUmMVO_F4AaABAg.9hI2IGUdmTW9hJuyaQaw qx
    https://www.youtube.com/watch?v=pkhazgI3LAo&lc=UgxesLhWNr_zNP0GUdh4AaABAg.9hI1CQJMLLo9hJwTB9Jl ob
    https://www.youtube.com/watch?v=pkhazgI3LAo&lc=UgyyQWYVP1OnCqavb-x4AaABAg
    https://www.youtube.com/watch?v=pkhazgI3LAo&lc=UgwJKKmExZ1FdZVDJf54AaABAg
    https://www.youtube.com/watch?v=pkhazgI3LAo&lc=Ugz_p0kVGrLntPtYzCt4AaABAg
    https://www.youtube.com/channel/UCnxwq2aGJRbjOo_MO54oaHA
    Last edited by DocAElstein; 07-09-2023 at 10:48 PM.
    Cheers !

    Excel Range to BBCode Table
    Use Social Networking Tools If You Like the Answers !

    Message to Cross Posters

    @ Home - Office 2010/2013/2016 on Win 10 (64 bit); @ Work - Office 2016 on Win 10 (64 bit)

Similar Threads

  1. Trim all Cells in a Worksheet - VBA
    By Admin in forum Excel and VBA Tips and Tricks
    Replies: 6
    Last Post: 08-21-2015, 08:22 AM
  2. Replies: 6
    Last Post: 05-10-2013, 01:13 AM
  3. Print Nth Worksheet To Mth Worksheet using VBA
    By Ryan_Bernal in forum Excel Help
    Replies: 2
    Last Post: 02-28-2013, 06:57 PM
  4. Combobox VBA update value worksheet
    By Tony in forum Excel Help
    Replies: 4
    Last Post: 10-28-2012, 12:28 AM
  5. Color Chart Series VBA
    By Admin in forum Download Center
    Replies: 0
    Last Post: 04-29-2011, 11:26 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •