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?
Escrito por
Sergio Propergol
Formador Excel y Power BI · Fundador de Ayuda Excel
Desde 2006 ayudo a profesionales y empresas a dominar Excel y Power BI de forma práctica, divertida y sin tecnicismos. Dejé el mundo corporativo en 2019 para dedicarme al 100% a la formación. Mi objetivo es siempre el mismo: que dejes de ver Excel como un problema y empieces a verlo como la solución que puede ser.
+25
años de experiencia
+4.200
alumnos formados
+500K
lectores al mes




