Macro para reemplazar datos de un listado a otro dentro de un rango de datos

Estoy trabajando en una macro la cual no me termina por quedar.

Tengo dos hojas, una que se llama lista, en la cual tengo los datos iniciales y por cuales deben ser reemplazados. Y otra hoja llamada Datos, donde tengo el conjunto de datos donde se debe efectuar el reemplazados.

Necesito que la macro me reemplace los valores. Tanto el listado como el rango pueden variar.

Respuesta
2

Vamos a ver si entendí.

En la hoja "Lista" en la celda "A2" tienes número 1 y en la celda "B2" tienes el número 1050

¿Quieres buscar el número 1 en la hoja "Datos" y en las celdas donde dice 1 poner el número 1050?

Por ejemplo, en la hoja "Datos" en las celdas "B2", "B5", "B8", "B13" y "B16" tienen el número 1, ¿a todos esos 1's los quieres reemplazar por un 1050?

Si es correcto lo anterior, entonces ejecuta la siguiente macro:

Sub Reemplazar_Numeros()
'Por Dante Amor
    Set h1 = Sheets("Lista")
    Set h2 = Sheets("Datos")
    Set r = h2.Range("B2", h2.Cells(Rows.Count, Columns.Count))
    On Error Resume Next
    For i = 2 To h1.Range("A" & Rows.Count).End(xlUp).Row
        Set b = r.Find(h1.Cells(i, "A").Value, LookAt:=xlWhole)
        If Not b Is Nothing Then
            celda = b.Address
            Do
                b.Value = h1.Cells(i, "B").Value
                Set b = r.FindNext(b)
            Loop While Not b Is Nothing And b.Address <> celda
        End If
    Next
    MsgBox "Fin"
End Sub

['Si es lo que necesitas. No olvides valorar la respuesta

1 respuesta más de otro experto

Respuesta
1

¿Y el reemplazo como se lleva a cabo?, no veo como el registro 1 con un 1000, reemplaza alguna celda en la otra hoja

Podría ser en la misma hoja, aunque lo más conveniente seria que fuera en una hoja independiente

Creo que no me explique bien, ¿no me queda claro que reemplaza que a que?, ¿Cuáles son los pasos para llevar a cabo el reemplazo?, si en una lista tengo en la columna a el valor de 1 y en la B el valor de 1000, ¿estos a que valores reemplazan en la otra hoja?

En la hoja de Datos tenemos los datos de la columna A (Origen) y deben ser reemplazados por la Columna B (Destino) .

Espero me haya expresado más claro.

Gracias

Prueba esta macro

Sub COPIAR()
Set H1 = Worksheets("LISTA")
Set H2 = Worksheets("DATOS")
R1 = H1.Range("A1").CurrentRegion.Rows.Count
H2.Range("A2").Resize(R1, 1).Value = _
H1.Range("B2").Resize(R1, 1).Value
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas