Buscar datos de la hoja 2 a la hoja 1 y resaltarlos

Tengo un rango de números de "C1;GM40"en la hoja 1 que se llama analizar y tengo una segunda hoja llamada nohancaido como se pude hacer para que los números que se encuentren en la segunda hoja los resalte en la primera

2 respuestas

Respuesta
2

Necesito saber el rango de la hoja "no han caído", pero creo que puedes adaptar lo siguiente...

El proceso a hacer es FormatoCondicional:

Seleccionas el rango de la hoja1, según lo que comentas C1:GM40

Vas a la pestaña Inicio, Formato condicional, Nueva regla,

Utilice una fórmula...

En la casilla dar formato escribes

=C1='nohancaido'!$A$5:$F$30

Nota1: fíjate que no he puesto $ en C1... y si en el otro rango

Nota2: el rango A5:F30 es el que te decía no se... tu debes adaptarlo a tu situación.

Luego haces clic en Formato... y eliges en relleno, o fuente, los colores que desees...

Luego es Aceptar varias veces y listo.

Saludos,

Jaime

PD: No olvides valorar la respuesta.

Me gustaría una macro para el proceso experto

¿Por qué una macro? Si cambias los datos tendrías que volver a correr la macro (que además tendría que borrar los formatos previos)... lo que te planteo es automático, lo "programas" una vez y funciona automáticamente siempre.

Yo pienso que se hace macros cuando no hay más alternativa en el propio Excel.

Respuesta
1

¿Cuál es el rango de los datos de la 2a hoja?, ¿Es el mismo o varia?

va de "a1;df70" pero hay columnas de celdas vacias de intermedio

Por un lado tienes 40 filas y 193 columnas y por el otro tienes 40 filas y 110 columnas en total se van a 33,968,000 de posibles arreglos que comparar, para esto se requiere mucha potencia de computo, ya sea con fórmulas o con macros en el caso de las fórmulas se te va a hacer lentísimo el equipo y más por el recalculo, en el caso de las macros estas también van a tardar un buen tiempo en hacer las comparaciones, en el caso de la macro que diseñe tarda 10 minutos en mi equipo. La macro tiene algunos trucos como descartar los números que ya han sido coloreados y los que tengan espacios vacíos, con esto se reduce na buena cantidad de los arreglos a comparar

Sub colorear()
inicio = Time
Set ha = Worksheets("analizar").Range("c1:gm40")
Set hn = Worksheets("nohancaido").Range("a1:df40")
For i = 1 To hn.Cells.Count
   numero = hn.Cells(i)
   cuenta = WorksheetFunction.CountIf(ha, numero)
   If cuenta > 0 Then
    For j = 1 To cuenta
        If j = 1 Then Set busca = ha.Find(numero)
        If j > 1 Then Set busca = ha.FindNext(busca)
        celda = busca.Address
        If Worksheets("analizar").Range(celda).Interior.ColorIndex = xlNone Then
            Worksheets("analizar").Range(celda).Interior.ColorIndex = 6
        End If
    Next j
   End If
salida:
Next i
fin = Time: minutos = fin - inicio
MsgBox ("duro " & Minute(minutos) & " minutos")
Set ha = Nothing: Set hn = Nothing
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas