Macro para que cambie las referencias de las celdas

Tengo una macro que ingresa la misma fórmula a todas las celdas activas. Me explico, la fórmula indica "=SI(AJ2-AS2<0,0, AJ2-AS2)", y pega el mismo resultado en la celda BL2, BL3, B4, y más.

Necesito como resultado que la fórmula "=SI(AJ2-AS2<0,0, AJ2-AS2)" vaya cambiando conforme se va colocando en las celdas activas, por ejemplo, "=SI(AJ3-AS3<0,0, AJ3-AS3)", "=SI(AJ4-AS4<0,0, AJ4-AS4)", "=SI(AJ5-AS5<0,0, AJ5-AS5)" y así sucesivamente.

Gracias por las enseñanzas.

Set h = ActiveSheet
    Set r = h.Columns("A")
f = 2
Do Until h.Cells(f, 1) = ""
If h.Cells(f, 2) = "" Then GoTo siguiente
h.Cells(f, "BL").FormulaLocal = "=SI(AJ2-AS2<0,0,AJ2-AS2)"
siguiente:
f = f + 1
Loop
Respuesta
1

Para agregar una variable a la fórmula es mejor que utilices esta notación:

h.Cells(f, "BL").FormulaR1C1 = "=IF(RC[-28]-RC[-19]<0,0,RC[-28]-RC[-19])"

Donde R es la fila activa y C es la columna ... al tener el signo - será 28 col delante de BL para AJ y 19 col para AS.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas