Excel: Crea una macro para seleccionar una hoja

Si, por ejemplo, tenemos doce libros de Excel, uno por mes, y cada uno tiene tantas hojas como días tenga el mes y queremos que, al abrir el libro correspondiente al mes actual, se seleccione automáticamente la hoja del día, aquí tenemos una solución.
MIE, 25 / SEP / 2013

Este problema se puede resolver con una macro automática. Por ejemplo:

Sub Auto_Open()
hoy = Day(Date)
Sheets(hoy).Select
End Sub

Por tener el nombre especial Auto_Open, esta macro se ejecuta automáticamente al abrir el archivo. Con la función Day tomamos el número de día de la fecha actual (obtenida con Date) y lo asignamos a la variable hoy. A continuación, la macro selecciona la hoja cuyo número de orden coincide con el número de día.

Esta macro funciona correctamente si las hojas están ordenadas: la primera hoja es la del primer día del mes; la segunda, al segundo día y así sucesivamente. Si las hojas estuvieran desordenadas, o si hubiera otras hojas, además de las que corresponden a cada día, la selección no funcionaría correctamente. Por ejemplo, si hubiera una hoja inicial, previa a la del primer día, la hoja número dos no correspondería al segundo día sino al primero.

Si este fuera el caso, podemos usar el nombre de la hoja, en vez de su número de orden:

Sub Auto_Open()
hoy = Day(Date)
hojas = Sheets.Count
For i = 1 To hojas
    dia = Val(Sheets(i).Name)
    If dia = hoy Then Sheets(i).Select
Next
End Sub

Esta macro primero guarda en la variable hoy el día de la fecha, como la primera macro. Luego toma nota de la cantidad de hojas del libro contándolas con la instrucción Sheets.Count. Entonces comienza a recorrer todas las hojas comparando el número que aparece en el nombre de la hoja con el número de día. Si ambos coinciden, selecciona esa hoja.

Esta macro selecciona la hoja cuyo número de orden coincida con el número de día: la primera hoja el primero del mes; la segunda hoja, el día dos y así sucesivamente.

Esta macro selecciona la hoja cuyo número de orden coincida con el número de día: la primera hoja el primero del mes; la segunda hoja, el día dos y así sucesivamente.

Esta macro recorre todas las hojas del libro y selecciona aquella para la cual el número que aparece en su nombre coincide con el número de día.

Esta macro recorre todas las hojas del libro y selecciona aquella para la cual el número que aparece en su nombre coincide con el número de día.

 

¡Comparte esta noticia!

Últimos lanzamientos Ver más