VBA Excel: selección de fechas deslizantes de una tabla
Resuelto
Lena_tkd
Mensajes publicados
1
Estado
Miembro
-
yg_be Mensajes publicados 23437 Fecha de registro Estado Colaborador Última intervención -
yg_be Mensajes publicados 23437 Fecha de registro Estado Colaborador Última intervención -
Hola,
Trabajo con Excel 2013 y tengo una tabla con fechas en la columna A y nombres en la columna B: https://www.cjoint.com/c/IGqjkE6reID
En D1, he puesto una fórmula que indica la fecha móvil de 31 días (15/06/2019 si estamos el 16/07/2019, 10/03/2019 si estamos el 11/04/2019...).
Me gustaría saber qué código VBA podría permitirme seleccionar la parte de la tabla (fechas y nombres) desde la fecha más antigua hasta la fecha inferior a la fecha que figura en D1, idealmente integrando la fórmula situada en D1 en un código para liberar la celda D1; en otras palabras, me gustaría poder seleccionar la tabla desde la primera fila hasta la última que contenga la información de la fecha 14/06/2019 si en D1 aparece la fecha "15/06/2019"; ¿alguna pista? ¡Cualquier idea es buena!
¡Muchas gracias de antemano!
Trabajo con Excel 2013 y tengo una tabla con fechas en la columna A y nombres en la columna B: https://www.cjoint.com/c/IGqjkE6reID
En D1, he puesto una fórmula que indica la fecha móvil de 31 días (15/06/2019 si estamos el 16/07/2019, 10/03/2019 si estamos el 11/04/2019...).
Me gustaría saber qué código VBA podría permitirme seleccionar la parte de la tabla (fechas y nombres) desde la fecha más antigua hasta la fecha inferior a la fecha que figura en D1, idealmente integrando la fórmula situada en D1 en un código para liberar la celda D1; en otras palabras, me gustaría poder seleccionar la tabla desde la primera fila hasta la última que contenga la información de la fecha 14/06/2019 si en D1 aparece la fecha "15/06/2019"; ¿alguna pista? ¡Cualquier idea es buena!
¡Muchas gracias de antemano!
1 respuesta
-
yg_be Mensajes publicados 23437 Fecha de registro Estado Colaborador Última intervención Ambassadeur 1 588
hola, sugiero esto:Option Explicit Sub lena() Dim dt As Date, cejour As Date, nlig As Long, fl As Worksheet Set fl = ActiveSheet cejour = Date dt = DateSerial(Year(cejour), Month(cejour) - 1, Day(cejour - 1)) nlig = 1 Do While fl.Cells(nlig, 1) < dt And IsDate(fl.Cells(nlig, 1)) nlig = nlig + 1 Loop If nlig < 2 Then nlig = 2 End If fl.Range(fl.Cells(1, 1), fl.Cells(nlig - 1, 2)).Select End Sub