Código para sombrear celdas en búsqueda

Quisiera que cada que dígito en la celda J1 algún numero me lo busque en la columna C y le cambie el sombreado a la celda encontrada

Private Sub Worksheet_Change(ByVal Target As Range)

nud = Range("j1").Value

Set dato = Etiquetas.Range("C:C").Find(Etiquetas.nud, LookIn:=xlValues, LookAt:=xlWhole)

If dato Is Nothing Then

MsgBox "No se encuentra", 64, ""

Else

dato.Select

Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent5
.TintAndShade = 0.799981688894314
.PatternTintAndShade = 0

End If

End Sub

Me dice "error de compilación referencia no valida o sin calificar"

1 Respuesta

Respuesta
1

Si hablas de excel este te servirá

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Cel As Object
If Target.Column <> 3 Then Exit Sub
    For Each Cel In Range("C1:C1000")
        If Cel.Value = Range("J1").Value Then
            Cel.Interior.Color = vbYellow
        End If
    Next Cel
End Sub

Si haces click sobre la columna C ( en cualquier celda) se realizara un for each sobre la celda C1 hasta C1000 y toda celda que encuentre con el mismo valor que J1 pintara la celda de amarillo

Puedes cambiar el color o el rango del for each si el tuyo es más grande.

muchas gracias esta excelente aunque tengo una duda tarda cerca de 10 segundos en actualizar supongo que es por el tamaño del libro, pero aun así esta muy bien ya en lo que hago mis comentarios de la búsqueda espero se cambia el relleno

Si le pones ("C:C") va a demorar bastante porque va a recorrer desde C1 hasta C1048576, te sugeriría que solo hagas el for each sobre el rango donde tienes datos otra opción seria usar un "For fila" para que solo recorra desde la fila "X" hasta la ultima fila con datos (obviamente tienes que usar una línea para declarar la ultima fila)

Igualmente si tienes un libro muy extenso quizás de todas formas demore un poco, pero si solo son segundos no afecta mucho supongo..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas