¿Como seleccionar rango variable en código Visual Basic utilizado en una función de análisis de datos?

Estoy haciendo una macro que me apoya a realizar pronósticos, para lo cuales necesito hacer un análisis de datos, aplicando regresión lineal para la cual necesito seleccionar una serie de datos para el rango X y otra serie de datos para el rango Y, estas series de datos son variables, es decir que a veces son mas o menos datos, actualmente tengo que mover manualmente el rango del cual se toman dichos datos, pero me gustaría que este rango se mueva según su longitud.

Mi código actual (solo de la parte del análisis de datos) es el siguiente:

Range("BL3:BU21"). ClearContents
Application.Run "ATPVBAEN.XLAM!Regress", Range("$AY$4:$AY$43"), _
Range("$AV$4:$AV$43"), False, False, , ActiveSheet.Range("$BL$3" _
), False, False, False, False, , False
ActiveWindow.SmallScroll Down:=8

El rango que requiero es ("AY4: ultima celda con datos")

Intente aplicarlo con el código .End(xldown) pero por alguna razón no me lo permite, no se si lo este aplicando mal.

1 Respuesta

Respuesta
1

Cambia esta línea

Application.Run "ATPVBAEN.XLAM!Regress", Range("$AY$4:$AY$43"), _
Range("$AV$4:$AV$43"), False, False, , ActiveSheet.Range("$BL$3" _
), False, False, False, False, , False

Por estas

    u1 = Range("AY" & Rows.Count).End(xlUp).Row
    u2 = Range("AV" & Rows.Count).End(xlUp).Row
    Application.Run "ATPVBAEN.XLAM!Regress", Range("$AY$4:$AY" & u1), _
        Range("$AV$4:$AV" & u2), False, False, , ActiveSheet.Range("$BL$3"), _
        False, False, False, False, , False

Sal u dos

¡Gracias! 

Corrió sin problemas y fue justo el resultado que esperaba, agradezco mucho tu ayuda que tengas excelente día. 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas