Cómo ordenar las hojas de un libro con VBA

ordenar las hojas de un libro con vba excel

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?