Cómo ordenar hojas y pestañas de Excel automáticamente

Excel no es sólo una herramienta para llevar los datos y la contabilidad de las empresas. Su potencia reside en que sirve para clasificar y administrar casi cualquier cosa de manera sencilla y rápida. Podemos crear agendas, cuadrantes de trabajo, libretas de direcciones, plantillas de factura, registros de asistencia… Sin embargo, Excel no permite organizar las hojas de los libros de trabajo, algo muy útil cuando trabajamos con libros extensos. Pero podemos ordenar las pestañas de Excel automáticamente con una macro en código Visual Basic. Te explicamos cómo hacerlo paso a paso.

Las palabras “macro en código Visual Basic” pueden resultar intimidatorias, pero todo es más fácil de lo que parece. Una macro es un pequeño programa que ejecuta por nosotros una serie de acciones en Excel, y sirve para automatizar las tareas repetitivas. Las macros están escritas en código Visual Basic for Applications (o VBA), un lenguaje de programación que permite acceder y ampliar las funciones de Excel.

El editor de Visual Basic

Para crear nuestra macro, hemos de abrir en Excel un libro de trabajo cualquiera, y cuantas más pestañas tenga, mejor.

Ordenar pestañas de Excel

Para abrir el editor de VBA, utilizamos el atajo de teclado Alt + F11. Una vez aparezca la ventana del editor, buscamos un libro de Excel en particular, llamado Personal.xls. Este libro tiene la propiedad de que cualquier cosa que hagamos en él, afectará a todos los libros de trabajo. Es decir, si creamos una macro, podremos usarla siempre que queramos.

Editor de macros

Si no encuentras el libro Personal, no te preocupes. Sal del editor, abre la pestaña Vista de Excel, despliega el menú de Macros, y selecciona Grabar Macro. Guarda la macro en el Libro de macros personal y comienza a grabar. A continuación, vuelve a desplegar el menú de Macros y detén la grabación. Ya tienes tu libro “especial”.

Crear macro en Excel

Ahora lo tenemos todo listo para crear un módulo nuevo. Abrimos el editor de VBA con Alt + F11, seleccionamos el libro Personal.xls, y luego pulsamos Insertar > Módulo. Colocamos el cursor en la ventana del módulo y escribimos el siguiente código:

Sub OrdenarHojas_Ascendente()

 

For a = 1 To Sheets.Count

For s = a + 1 To Sheets.Count

If UCase(Sheets(a).Name) > UCase(Sheets(s).Name) Then

Sheets(s).Move Before:=Sheets(a)

End If

Next s

Next a

 

End Sub

Cerramos la ventana, y la macro se habrá almacenado automáticamente. Sólo queda comprobar que funciona. Abrimos el libro cuyas pestañas queremos ordenar, vamos a Vista y hacemos click sobre Macros, o bien pulsamos el atajo de teclado Alt + F8. Hacemos doble click sobre OrdenarHojas_Ascendente, y las pestañas del libro se colocarán por orden alfabético en un instante.

Ordenar pestañas Excel alfabeticamente

Al cerrar Excel, el programa nos pedirá si queremos guardar los cambios hechos en las macros. Aceptamos, y nuestra macro quedará almacenada para usarla con el libro que deseemos.

Ordenar las hojas de manera descendente

Con unos pequeños cambios en el código, podemos conseguir el efecto inverso: ordenar las pestañas en orden alfabético descendente. Repetimos el proceso para la creación de la macro, y en esta ocasión insertamos el código siguiente:

Sub OrdenarHojas_Descendente()

 

For a = 1 To Sheets.Count

For s = a + 1 To Sheets.Count

If UCase(Sheets(a).Name) < UCase(Sheets(s).Name) Then

Sheets(s).Move Before:=Sheets(a)

End If

Next s

Next a

 

End Sub

Sólo hay dos variaciones. La primera, como es obvio, es el nombre de la macro. La segunda es el cambio de > a < en la cuarta lí­nea de código. Esto significa que la ordenación de las hojas del libro cambiará de dirección. Ahora, cuando hagas clic en Vista > Macros (o bien el atajo Alt + F8), verás las dos macros recién creadas. Haz doble click en OrdenarHojas_Descendente, y comprueba con satisfacción su efecto.

Ordenar hojas Excel descendente

Guardando los cambios al salir de Excel, tendremos estas dos macros disponibles en cualquier momento. Nos ahorrarán mucho tiempo y esfuerzo al manejar pestañas de libros de Excel que sean especialmente voluminosos.

Recibe nuestras noticias

De lunes a viernes mandamos un newsletter con los titulares del día a +4.000 suscriptores

I will never give away, trade or sell your email address. You can unsubscribe at any time.