Macro reemplazar de acuerdo al primer numero de la columna

Tengo un listado de números desde la celda a1;dd40 y tengo un listado de números en la columna dq

La idea es que si algún numero de la columna dq que este en el rango a1;dd40 me lo reemplace por el primer numero de la columna dq y mediante un mensaje me de la opción de dejarlo como estaba o cambiarlo

1 Respuesta

Respuesta
3

Esta sería la macro que necesitas con el agregado del ajuste de formato. Observa que en la búsqueda también se coloca el formato de 4 dígitos para que coincida y no te salte el error que me mencionaste.

Sub buscar_reemplazar_colorear()
Set DATOS = Range("a1:co40").CurrentRegion
Set lista = Range("dj2").CurrentRegion
MATRIZ = DATOS
With lista
    For i = 1 To .Rows.Count
        numeros = .Cells(i, 1)
        cuenta = WorksheetFunction.CountIf(DATOS, numeros)
        If cuenta > 0 Then
            For j = 1 To cuenta
                If j = 1 Then Set busca = DATOS.Find(Format(numeros, "0000"), LookAt:=xlWhole)
                If j > 1 Then Set busca = DATOS.FindNext(busca)
                celda = busca.Address
                With Range(celda)
                    .NumberFormat = "@"
                    .Value = Format(lista.Cells(1, 1), "0000")
                    .Interior.ColorIndex = 44
                    .Select
                End With
            Next j
        Else
            GoTo SIGUIENTE
        End If
        ASK = MsgBox("DEJAR TODO COMO ESTABA?", vbYesNo, "AVISO")
        If ASK = 7 Then GoTo SALIDA
        Range(DATOS.Address) = MATRIZ
SIGUIENTE:
    Next i
End With
SALIDA:
End Sub

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas