Modificación de código de macro en excel
Tengo el siguiente código:
Sub buscar_reemplazar_colorear()
Set xDATOS = Range("a1:dd40").CurrentRegion
Set lista = Range("dj2").CurrentRegion
MATRIZ = xDATOS
With lista
For i = 1 To .Rows.Count
numeros = .Cells(i, 1)
cuenta = WorksheetFunction.CountIf(xDATOS, numeros)
If cuenta > 0 Then
For j = 1 To cuenta
If j = 1 Then Set busca = xDATOS.Find(numeros, LookAt:=xlWhole)
If j > 1 Then Set busca = xDATOS.FindNext(busca)
celda = busca.Address
With Range(celda)
.Value = lista.Cells(1, 1)
.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(xDATOS.Address) = MATRIZ
SIGUIENTE:
Next i
End With
SALIDA:
End Sub
Al ejecutarlo en cualquier hoja me funciona pero ahora que tengo un formulario NO MODAL me ejecuta un error en la línea de negrita como puedo solucionarlo ya que esta macro busca aquellos números que están en la columna dj en el rango a1 :dd40
Entonces no analizaste a detalle la macro ni el archivo primero la macro esta buscando en la columna dj cuando debe buscar el valor de la celda DH1 o la DQ1, la macro esta buscando un valor de 1 dígito cuando debe buscar uno de 4 dígitos,(6680) solo debe buscar un solo valor y cambiando la dirección de la columna la macro funciona sin necesidad de agregarle formato solo la instrucción de que tiene que hacer en caso de que no encuentre el numero a buscar. En conclusión ha presentado error porque busca en celdas con cuatro dígitos un numero de 1 dígito. - James Bond