Ir a una celda especifica - moviendonos entre fórmulas

Dante Amor

Buenas tardes,

Necesito desarrollar una macro que me permita ir a una celda específica. Les cuento cuál es la situación:

  • En la hoja 1 se cargan datos (no hay variables, celdas vacías que se completan manualmente)
  • En la hoja 2, existen fórmulas que procesan los datos (todas las celdas tienen fórmulas)

Resulta que a veces cuando uno ve valores viejos en la hoja 2, muchas veces quedamos muy lejos de la última fórmula que está procesando datos. Desarrollé la siguiente macro para intentar ir a esa última fila:

Sub ultimo_dato_proceso()
Dim Final As Long
Application.ScreenUpdating = False
Hoja1.Activate
Ultima = Range("A1600").End(xlUp).Row
Hoja2.Activate
Cells(Ultima, 1).Select
End Sub

¿El problema? Con esta macro selecciona perfecto la celda que le pido, pero no desplaza la pantalla hasta ese lugar. Por ejemplo, estoy en la hoja 2 celda A5 y resulta que quiero ver el último dato procesado en esta hoja (supongamos celda A1000): la macro selecciona la celda A1000 pero yo sigo viendo la misma pantalla que antes, "no se desplaza" la pantalla (como sí pasa cuando uno aprieta la flecha del teclado).

Espero haber dejado bien en claro cual es el problema

1 respuesta

Respuesta
1

Eso pasa porque estás apagando la actualización de la pantalla

Application.ScreenUpdating = False

Tienes que quitar esa línea, entonces quedaría así:

Sub ultimo_dato_proceso()
    Hoja1.Activate
    Ultima = Range("A1600").End(xlUp).Row
    Hoja2.Select
    Cells(Ultima, 1).Select
End Sub

Pero, si lo que buscas es la última fila de la hoja2, entonces debería ser así:

Sub ultimo_dato_proceso()
    Hoja2.Select
    Ultima = Range("A1600").End(xlUp).Row
    Cells(Ultima, 1).Select
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Dante Amor 

No me había dado cuenta lo de apagar la actualización, pero entonces me surge una interrogante:

  • Me gustaría no ver el desplazamiento entre hojas, simplemente que me lleve a la fila 1000 para ver todos los datos de esa fila.

La segunda macro no funciona para mi caso, ya que toda la hoja 2 tiene fórmulas, eso quiere decir que me ubicaría en la celda A1600, pero no en la que yo necesito que es la A1000.

Muchas gracias

Quedaría así:

Sub ultimo_dato_proceso()
    Application.ScreenUpdating = False
    Hoja1.Activate
    Ultima = Range("A1600").End(xlUp).Row
    Hoja2.Select
    Application.ScreenUpdating = True
    Cells(Ultima, 1).Select
End Sub

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas