Saltar al contenido

avanzar una celda hacia abajo apartir de una celda seleccionada


Ir a la solución Solucionado por JSDJSD,

Recommended Posts

publicado

Hola buenas tardes:

Por favor me pueden ayudar a realizar lo siguiente.

ejecutar una macro después de un tiempo, que recorra una columna a partir de la celda activa hacia abajo.

Es una lista extensa, que filtro desde la columna B.

y solo me muestra las filas que me interesan.

ejemplo: Si mi celda activa es la C23 ejecutar la macro y baje una celda y repite la macro después de 20 segundos y lo vuelve hacer(Simpre bajando una celda), y que este se detenga hasta la ultima fila que este visible en el filtro.

Ya que puedo tener muchos datos mas.

 

Gracias

 

Prueba filtro y avance.xlsm

publicado
hace 20 horas, MarianoCruz dijo:

Hola buenas tardes:

Por favor me pueden ayudar a realizar lo siguiente.

ejecutar una macro después de un tiempo, que recorra una columna a partir de la celda activa hacia abajo.

Es una lista extensa, que filtro desde la columna B.

y solo me muestra las filas que me interesan.

ejemplo: Si mi celda activa es la C23 ejecutar la macro y baje una celda y repite la macro después de 20 segundos y lo vuelve hacer(Simpre bajando una celda), y que este se detenga hasta la ultima fila que este visible en el filtro.

Ya que puedo tener muchos datos mas.

 

Gracias

 

Prueba filtro y avance.xlsm 16.57 kB · 1 descarga

He cambiado mi macro a este:

Sub repetir()
Set a = Sheets(ActiveSheet.Name)
uf = a.Range("C" & Rows.Count).End(xlUp).Row 'ultima fila con datos
ActiveCell.Select
ActiveCell.Offset(1, 0).Select


  'Application.OnTime Now + TimeValue("00:00:10"), "repetir", , True
End If
End Sub

 

Lo que no se es como detenerlo al llegar a la ultima fila con datos de la columna C.

Muchas gracias

  • Solution
publicado
Sub RecorrerRangoC()

    Set hoja = ActiveSheet
    
    Set rango = hoja.Range("C2:C" & hoja.Cells(hoja.Rows.Count, "C").End(xlUp).Row)

    If rango.Cells.Count = 0 Then
        MsgBox "No hay datos en la columna C.", vbExclamation
        Exit Sub
    End If
    
    For Each celda In rango.SpecialCells(xlCellTypeVisible)
        celda.Select
        Application.Wait Now + TimeValue("00:00:01")
    Next celda
End Sub

Prueba y comenta

image.gif

  • 2 months later...
publicado
En 19/4/2024 at 10:27 , JSDJSD dijo:
Sub RecorrerRangoC()

    Set hoja = ActiveSheet
    
    Set rango = hoja.Range("C2:C" & hoja.Cells(hoja.Rows.Count, "C").End(xlUp).Row)

    If rango.Cells.Count = 0 Then
        MsgBox "No hay datos en la columna C.", vbExclamation
        Exit Sub
    End If
    
    For Each celda In rango.SpecialCells(xlCellTypeVisible)
        celda.Select
        Application.Wait Now + TimeValue("00:00:01")
    Next celda
End Sub

Prueba y comenta

image.gif

Hola buenos dias JSDJSD:

De antemano muchas gracias por tu ayuda. pero me encuentro con el siguiente problema cada que ejecuto la macro inicia desde la celda especifica "C2". hasta la ultima celda con datos. Esta vez mis datos no son filtradas. lo que deseo en ella es que yo pueda esta en cualquier celda de la columna C y apartir de ahi  empiece a recorrer las celdas hasta el ultimo. 

Ejemplo: Si estoy en la celda C20: iniciara aqui el recorrido de las celdas a la ultima con datos. o si me posiciono en la celda C7 desde ahi iniciara.

Trate de poner el set rango  desde celda activa (o seleccionada) hasta la ultima hoja.

Muchas gracias

Mariano

Conéctate para comentar

Podrás dejar un comentario después de conectarte



Conéctate ahora
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.