¿Cómo sustituir el valor de una fila con el valor de una celda?

Pues soy nuevo en el uso de Excel.

Mi duda o problema es: cómo puedo sustituir los valores de una fila en un rango especifico por ejemplo: del M10:Z10 dentro de ese rango tengo celdas vacías y unos, los unos los tengo que sustituir con el número que se encuentra en la celda B10.

Por ejemplo si en la celda B10 tuviera el número 26, pues ese 26 lo tengo que sustituir por los unos de la fila M10:Z10 dejando intacto las celdas vacías dentro de ese rango.

Eso lo tengo que estar haciendo más de 400 veces y la verdad me tardo mucho estar seleccionando e ir sustituyendo los unos de las filas con los valores de la columna B.

No sé si hay alguna fórmula o macro que hiciera eso más rápido.

3 respuestas

Respuesta
1

Si se cambia cada 1 por el valor en B10, prueba:

Sub ejemplo

Dim celda as Range

For Each celda in RAnge("M10:Z10")

       If celda.value=1   Then     celda.value=Range("B10").value

NExt celda

End Sub

Respuesta
1

Te anexo la macro.

Toma el dato de la columna B desde la fila 10 y hasta el último dato que tengas en la misma columna B.

Por cada fila reemplaza los unos por el dato tomado.

Sub reemplazar()
'Por.Dante Amor
    For i = 10 To Range("B" & Rows.Count).End(xlUp).Row
        Range("M" & i & ":Z" & i).Replace What:=1, Replacement:=Cells(i, "B"), LookAt:=xlWhole
    Next
End Sub

El rango a reemplazar es desde la columna M y hasta la Z


.

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

.

Avísame cualquier duda

.

Hola Dante Buen Día, 

de antemano muchísimas  gracias por tu respuesta me sirvió mucho. 

de verdad me has ayudado muchísimo.

¡Mil Gracias! 

Respuesta
1

Algo más sencillo es esto, reemplaza las celdas con 1 poniendo el valor de la celda b10 y respetando las celdas vacías

Sub reemplaza()
Range("m10:z10").Replace What:="1", Replacement:=Range("b10")
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas