Este mensaje de error puede deberse a los siguientes motivos, entre otros:
- Error en el nombre de algún libro
- Error en el nombre de alguna hoja
- Error en el nombre de algún objeto, o referencia de celda
El primer error está en la palabra es xlWhole en lugar de xlWole.
Pero también tendrás error si no encuentra el dato ya que das por asumido que lo encontrará en la instrucción: linea = fila.Row
A continuación de la instrucción SET debieras hacer una evaluación con algo así:
If Not fila Is Nothing Then
'guardar la fila
linea = fila.Row
'el resto de las instrucciones
Else
MsgBox "No se encontró el dato buscado en la Hoja BD"
End If
Más ejemplos de búsquedas con VBA en videos 16, 23, 25 y otros de mi canal.