Seleccionar rango aleatoreo VBA Excel

Tengo por ejemplo en una columna cierta cantidad de datos (por ejemplo columna A), los cuales van a variar constantemente en cantidad, lo que quiero realizar es que en la siguiente columna (B), es colocarle 1 a cada celda de A que esté con un dato.

En excel, al escribir un dato en B1 y darle doble click en la esquina inferior derecha, éste copia el dato hacia abajo hasta la ultima celda con información de la columna anterior, ésta acción la grabé con la grabadora de macros para poder ver como se programa, pero siempre me da un rango exacto es decir Range(B1:B10), y lo que quiero es que siempre inicie en B1 y finalize en la última celda con dato en la columna anterior, pero no encuentro cual es la instrucción, ya que mi información va a a cambiar constantemente y necesito la instrucción de llenado automático sin un rango exacto de celdas.

2 Respuestas

Respuesta
1

Prueba lo siguiente:

Sub Macro1()
  Range("B2:B" & Range("A" & Rows.Count).End(3).Row).Value = Range("B1")
End Sub

Tal vez te interese:

Curso de macros. Metodo find completo. - YouTube

Curso de macros. Metodo find ejemplos. - YouTube

Sal u dos Dante Amor

Respuesta
1

Aquí arrastro el contenido de B2 hasta la última celda ocupada en col A.

Sub rellenaFormula()
'x Elsamatilde
'rellena desde B2 hasta la última ocupada en col A
Range("B2").AutoFill Destination:=Range("B2:B" & Range("A" & Rows.Count).End(xlUp).Row), Type:=xlFillDefault
End Sub

Sdos. Y espero que esta vez sí mi respuesta también sea valorada ;)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas