Autocompletar columna

Tengo una macro asociada a un Botón, para que me autocomplete las columnas:
Sub Macro2()
    Range("B1").Select
    Selection.AutoFill Destination:=Range("B1:B20")
    Range("B1:B20").Select
End Sub
Esta macro la he grabado haciendo el ejemplo en una tabla que tenia llenos los 20 datos desde A1 hasta A20, y aplico una fórmula en B1 y me la autocompleta hasta B20. Y quisiera que fuese un autocompletar genérico, es decir que lo pueda aplicar a cualquier otra tabla que tenga desde A1 hasta An, y que aplicando autocompletar me rellene la fórmula aplicada a B1 hasta Bn.
Se que dando haciendo dobleclick en el cuadrito de la esquina inferior derecha se hace lo que quiero, pero me gustaría poderlo aplicar a esta macro, que a su vez forma parte de algo más complejo.

1 Respuesta

Respuesta
1
Primero obtené el fin de rango, desde 1 col que estará completa, por ej la col A
finrgo = range("A65536").End(xlup).Row
Range("B1").Select
    Selection.AutoFill Destination:=Range("B1:B" & finrgo)
    Range("B1").Select
Estoy asumiendo que en col A no habrá nada más que datos hasta el final.
Muchísimas gracias!
Era justo lo que quería!
Pero quería hacer una praguntilla antes de finalizar la pregunta:
La linea
finrgo = range("A65536").End(xlup).Row
¿Qué hace exactamente? A la variable finrgo, ¿le asigna el rango de la ultima celda ocupada? ¿O solo hasta la primera celda libre? Lo que quiero saber es que si tengo 30 celdas ocupadas, pero una celda de la mitad esta libre, por ejemplo la 16. ¿Me autocompletaria hasta el final?
Esto es más que nada por si me encuentro con algún problema más adelante, para saber ya como solucionarlo.
Muchas gracias de nuevo!
Hay 2 maneras de buscar la última celda con datos (o la 1er libre).
End (xlDown): desde arriba hacia abajo, ni bien encuentre 1 vacía considerará que es el fin de rango aunque a continuación sigan otras celdas con valores
End (xlup): desde abajo hacia arriba. Cuando encuentra la 1er celda con datos, considera que esa es la última. Por lo que es ideal para cuando te quedan celdas entremedio vacías.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas