Excel VBA range.find actuando hasta

Estoy tratando de usar range.find para buscar un valor dentro de una columna y devolver el valor coincidente de la siguiente columna.

Grabé el find () usando la grabadora de macros, que pareció funcionar bien durante un tiempo, pero por alguna razón ahora me está dando un error. Por lo que sé, no he cambiado nada que deba afectar a este bit de código.

Esto es lo que tengo

Public Function look_up_id(id, table)
    Worksheets(table).Activate
    Cells.Find(What:=id, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate

    look_up_id = ActiveCell.Offset(0, 1).Value
End Function

El error que ahora estoy recibiendo es:

Variable de objeto o con variable de bloque no establecida

¿Alguna idea de por qué esto está sucediendo ahora?

Todos los recursos que puedo encontrar en range.find () parece que lo estoy haciendo bien ...

Saludos - David

Respuestas a la pregunta(2)

Su respuesta a la pregunta