Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Movilizando las Hojas de Trabajo

| Sin comentarios

En ocasiones los usuarios nos vemos con la necesidad de (re)ordenar las hojas de trabajo, y usualmente hacemos esto de manera manual. Sin embargo,  esta no es la única opción de hacerlo ni necesariamente la más eficiente, principalmente en el caso que trabajemos en libros que contengan muchas hojas de trabajo. Por ello se presenta a continuación una alternativa que nos permitirá movilizar y (re)ordenar las hojas de trabajo en forma automatizada, pues la siguiente Macro permite movilizar la hoja activa u otra hoja específica hacia una ubicación determinada con respecto a las demás hojas del libro.

Para explicar el procedimiento de movilizar las hojas de trabajo en un libro Excel, trabajaremos sobre un libro que contiene 5 hojas (Hoja1, Hoja2, Hoja3, Hoja4 y Hoja5).

El código que emplea la macro es el siguiente:

Sub Mover_Hojas()

'1. Se moviliza la hoja activa hacia el final de las demás hojas
ActiveSheet.Move After:=Worksheets(Worksheets.Count)

'2. Se moviliza la hoja activa al inicio de todas las demás hojas
ActiveSheet.Move Before:=Worksheets(1)

'3. Se moviliza la Hoja1 antes de la Hoja5
Worksheets("Hoja1").Move Before:=Worksheets("Hoja5")

End Sub

Si ejecutamos la macro con la tecla F8, podremos revisar paso a paso los procedimientos que ejecuta la macro:

1. Iniciamos con el libro de cinco hojas en blanco que se encuentran ordenadas de izquierda a derecha (Hoja1 a la Hoja5)

1

(Para mayor visualización de la imagen, hacer click en la misma)

2. Con la ejecución de la primera instrucción "ActiveSheet.Move After:=Worksheets(Worksheets.Count)", la hoja activa (en este caso la Hoja1) pasará al final de las demás hojas, para ello la macro ejecuta un conteo de la cantidad de hojas que existen en el libro.

2

(Para mayor visualización de la imagen, hacer click en la misma)

3. Con la ejecución de la segunda instrucción, "ActiveSheet.Move Before:=Worksheets(1)",  la hoja activa (en este caso la Hoja1) se moverá hacia antes de la hoja ubicada en la posición (1). Cabe considerar que se podría haber movido tanto antes o después de la hoja (2), (3), (4) inclusive, según lo deseado.

3

(Para mayor visualización de la imagen, hacer click en la misma)

4. Por último, la tercera instrucción "Worksheets("Hoja1").Move Before:=Worksheets("Hoja5")", al ejecutarse mueve la hoja llamada "Hoja1" antes de la hoja llamada "Hoja5". Con esto se quiere precisar que es posible identificar a las hojas por su nombre al momentos de instruir su movilización.

4

(Para mayor visualización de la imagen, hacer click en la misma)

5. Finalmente, se generó una macro llamada "Restablacer" que permite llevar al archivo al orden inicial (de la Hoja1 a la Hoja5). Esto lo realiza llevando la hoja llamada "Hoja1" antes de la hoja ubicada en la posición (1),  la hoja llamada "Hoja2" antes de la hoja ubicada en la posición (2), y así sucesivamente hasta ordenar las 5 hojas del libro:

Sub Restablecer()

Worksheets("Hoja1").Move Before:=Worksheets(1)
Worksheets("Hoja2").Move Before:=Worksheets(2)
Worksheets("Hoja3").Move Before:=Worksheets(3)
Worksheets("Hoja4").Move Before:=Worksheets(4)
Worksheets("Hoja5").Move Before:=Worksheets(5)

'Se selecciona la Hoja1
Sheets("Hoja1").Select

End Sub

5

(Para mayor visualización de la imagen, hacer click en la misma)

Para revisar la macro explicada a mayor detalle, hacer click en el siguiente enlace para acceder al archivo excel: Moving Worksheets Around

 

_____
Elaborado por: Diego Solís Pezzia

Deja una respuesta

Los campos requeridos estan marcados con *.