Cómo ordenar las hojas de un libro con VBA

Como ya sabes, en Excel hay muchas formas de realizar la misma acción, y gracias a VBA,  este número se multiplica.

Hoy te traigo un ejemplo muy clásico de VBA que casi todos los formadores suelen enseñar a sus alumnos: ordenar las hojas de un libro de Excel con VBA.

Sub OrdenarPorNombre()
    Dim NumeroHojas As Integer
    Dim PosicionHoja As Integer
    Dim I As Integer
    
    NumeroHojas = ActiveWorkbook.Worksheets.Count
    PosicionHoja = NumeroHojas
    Do
        If PosicionHoja = 1 Then Exit Do
        For I = 1 To PosicionHoja - 1
        
            If Sheets(I).Name > Sheets(I + 1).Name Then
            Sheets(I + 1).Move before:=Sheets(I)
            End If
        Next I
        PosicionHoja = PosicionHoja - 1
    Loop
End Sub

Cópiala en un módulo estándar y ejecútala para probarla.

En primer lugar, la macro cuenta el número de hojas y, desde la primera, va comparando el  nombre con la siguiente hoja. En caso de que la hoja con la que se compara sea anterior, se mueve a una posición anterior.

¿Te ha parecido útil el ejemplo de código?

¡Compartir es vivir!
Sergio
 

La destreza y el perfeccionismo quizá sean las dos virtudes que me permiten ayudar a mis clientes a facilitar las tareas administrativas de sus negocios.