(EXCEL) Al abrir hoja se centre en fecha de HOY

Tengo una hoja de excel, en la que existen celdas que tienen distintas fechas. A veces, reviso la hoja en fechas anteriores y la cierro, pero al volver al abrirla, obviamente aparece en la celda que revisé por última vez.

¿Es posible que al abrir esa hoja, inmediatamente, se centre en la celda que tiene la fecha de HOY? ¿Se puede esto mediante una macro?

1 respuesta

Respuesta
2

La siguiente instrucción colocala en el evento Activate de la hoja

Private Sub Worksheet_Activate()
Range("A:A").Find(Date, LookIn:=xlValues, lookat:=xlWhole).Activate
End Sub

Si vas a colocarla en el evento Open del libro, solo se verá la 1ra vez que ingreses a la hoja, y en ese caso debes indicarla en la macro:

Private Sub Workbook_Open()
'x Elsamatilde
Sheets("2017").Range("A:A").Find(Date, LookIn:=xlValues, lookat:=xlWhole).Activate
End Sub

Elsa

Puse el código en el evento Activate, pero me genera error

Ufff las fechas en Excel ;)

Intentalo de este modo:

Range("A:A").Find(Str(Date), LookIn:=xlValues, lookat:=xlWhole).Activate

Sdos!

Probé con el segundo código pero me aparece el mismo error 91.

estoy probando las macro en el mismo archivo que ya habia subido (https://drive.google.com/file/d/0B4xIfHm5A0yvXzdiZmlNWVppUE0/view?usp=sharing )

Gracias Elsa, por tu disposición y paciencia

Si lees la instrucción que te envié verás que está buscando en el rango de la col A, pero en tu caso debe buscar la fecha en cualquier lugar de la hoja, por lo tanto es otra búsqueda:

Además tu hoja no tiene la fecha de hoy... para evitar ese posible error deja la macro así. El Date solo o con String, el que no te de error ;)

Private Sub Worksheet_Activate()
On Error Resume Next
Range("A1").CurrentRegion.Find(Date, LookIn:=xlValues, lookat:=xlWhole).Activate
End Sub

Sdos!

Tiene un formato condicional que resalta la fecha de hoy, así no me pierdo y no tengo que buscar tanto en caso que la celda activa esté muy lejos

Estimada Elsa

Sigue igual. Con la línea de "On Error resume Text" no aparece el error 91, pero tampoco se ejecuta la macro.

¿Te parece que tu celda roja de la izquierda se parece a la de los días que tenías originalmente (a la derecha)?

No, para Excel no son iguales. Que el formato condicional solo te coloree la celda y la macro correrá. Perfectamente.

Private Sub Worksheet_Activate()
'x Elsamatilde
On Error Resume Next
Range("A1").CurrentRegion.Find(Str(Date), LookIn:=xlValues, lookat:=xlWhole).Activate
End Sub

La línea de On Error es por si el día de hoy no se encuentra en la hoja.

Sdos!

¡Gracias Elsa!

Ahora si, todo bien. Muchas gracias por la aclaración, ya que pensaba que solo era cuestión de formato de "muestra", pero no sabía que eso cambiaba la forma en que excel trataba los datos... ahora lo sé.

La macro funciona perfecto.

Saludos y muchas gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas