Fórmula hasta terminar el rango

Julio:
Necesito una Macro que arrastre una fórmula en todas las celdas hasta terminar el rango:
Ej:
          A B C
1 HECTOR 46 HECTOR - 46
2 PABLO 28 PABLO - 28
3 alejandro 50 alejandro - 50
En este ejemplo concateno en la celda c1, el dato de la celda a1, un guion (-), y el dato de la celda b1
ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[-2],""-"",RC[-1])"
Y hago doble click en el vértice inferior derecho de la celda c1 y excel lleva esta fórmula hasta el fin del rango que encuentra a su izquierda.
    Selection.AutoFill Destination:=Range("C1:C4")
    Range("C1:C4").Select
Lo que necesito es que la fórmula se copie o arrastre, hasta donde termina el rango, pero el problema es que el rango es variable, en la cantidad de filas.
Desde ya gracias.

1 respuesta

Respuesta
1
Primero te sitúas al principio del rango que en tu caso es C1
Range("C1").Select
Ahora bajas hasta el final de la columna al ultimo dato
ActiveCell.End(xlDown).Select
Ahora pasas a una variable la posicion de la celda
celda=ActiveCell.Address
Y ahora pasas este rango a la formula para el Autofill
Selection.Autofill Destination:=Range("C1",celda)
Range("C1",celda).Select
Todas las instrucciones del principio se pueden incluir en una sola linea y le añades el autofill quedaría así:
Sub prueba()
Range("C1").Select
ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[-2],""-"",RC[-1])"
celda = Range("B1").End(xlDown).Offset(0, 1).Address
Selection.AutoFill Destination:=Range("C1", celda)
End Sub
>Un saludo
>Julio
Puntúa y finaliza la consulta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas