¿Cómo puedo pegar datos en un rango de celdas dependiendo los valores de una columna?

Tengo una base de datos en excel, donde con una macro quiero pegar unas fórmulas desde la primer celda vacía hasta donde termine la información de una columna contigua.

Por ejemplo, quiero pegar la fórmula que esta en A1 en los rangos vacíos de la columna A hasta que terminen los datos de la columna B (El rango de la columna B aumentara durante por tiempo)

2 respuestas

Respuesta
2

Te anexo la macro

Sub Macro3()
' Por.Dante Amor
    '
    Range("A1"). Copy
    Range("A4:A" & Range("B" & Rows. Count).End(xlUp). Row). PasteSpecial xlPasteAll
End Sub

NOTA: En la celda A1 deberás tener una fórmula, en tu ejemplo tienes un texto "sum(b1-c1)"

Lo que debes tener es una fórmula : =sum(b1-c1)

De esa forma la macro copiará una fórmula. Si no pones la fórmula, es decir, si no la pones con el símbolo = (igual), la macro no te va a crear nuevas fórmulas, solamente te va a copiar el mismo texto en todas las celdas.


.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Perfecto, muchísimas gracias, solo una cosa mas; este código lo que hace es pegar desde la celda A4 hasta el ultimo dato en la columna B, pero me esta sustituyando lo que ya había en la celda A4 y A5, lo que busco que que empiece a pegar desde la primer celda vacía hasta la ultima celda dependiendo de la información que exista en la columna B

Te anexo la macro actualizada

Sub Macro3()
' Por.Dante Amor
    '
    u = Range("A" & Rows.Count).End(xlUp).Row + 1
    Range("A1").Copy
    Range("A" & u & ":A" & Range("B" & Rows.Count).End(xlUp).Row).PasteSpecial xlPasteAll
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta.
Respuesta
1

Prueba con esta macro, te coloca la fórmula sin importar cuantas filas agregues o quites .

Sub formular()
Set datos = Range("a3").CurrentRegion
datos.Cells(2, 1).Resize(datos.Rows.Count - 1, 1).Formula = "=b4-c4"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas