Respondiendo a tu consulta inicial, esta macro lo resuelve:
Sub detecta()
'x Elsamatilde
Application.ScreenUpdating = False
Sheets("hoja1").Select
'guarda el rango ocupado en Hoja1
rgo = ActiveSheet.UsedRange.Address
'quita colores anteriores
Range(rgo).Select
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Set uno = Worksheets("hoja1")
'se recorre la lista de Hoja2, col AL
Sheets("Hoja2").Select
For i = 1 To Range("AL" & Rows.Count).End(xlUp).Row
'se busca el valor en el rango de Hoja1
dato = Range("AL" & i)
Set busco = uno.Range(rgo).Find(dato, LookIn:=xlValues, lookat:=xlWhole)
If Not busco Is Nothing Then
'si lo encontró pinta la celda
With uno.Range(busco.Address).Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent4
.TintAndShade = 0.399975585192419
.PatternTintAndShade = 0
End With
End If
Next i
Range("AL1").Select
MsgBox "Fin del proceso.", , "Información"
End Sub
Guiate por los comentarios para hacer algún tipo de ajuste en la ubicación de datos.
En Hoja1 se encuentra el rango ocupado y en Hoja2 se estableció col AL desde fila 1 hasta la última ocupada.
Se considera que no habrá números duplicados en Hoja1.
Sdos y no olvides valorar la respuesta.
Elsa
http://aplicaexcel.com