Si, te recomendé el uso de Set y te lo explico según tu libro.
En un bucle buscas cada título de una lista en la fila 1 de hoja de Trabajo. Y una vez encontrado ese título pegas en esa columna un rango de datos. Para ello utilizaste la instrucción:
Cells.Find(What:=NomCamp, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
ActiveSheet. Paste
Pero al no encontrar el título se mantiene activada la última celda o rango anterior... no estás evaluando qué hacer si no encuentra el dato.
En cambio con el uso de Set es más fácil indicarle qué hacer en ambos casos:
Set busco = Hoja.Rango().Find(dato a buscar,*)
if Not busco is nothing then
'instrucciones para cuando no esté vacía la búsqueda, es decir para cuando encuentre el dato buscado
else
'instrucciones para cuando NO encuentra el dato
End if
* La búsqueda puede ser total o parcial.
Espero haber aclarado la diferencia.
Sdos.
Elsa
http://aplicaexcel.galeon.com/manuales.htm