В основном вы пытаетесь найти ячейку и активировать ее в одно и то же время, что подскажет вам об ошибке, если ничего не найдено. Вы можете попробовать сначала найти его, затем активировать:
set smvar = Cells.Find(What:=PONumber, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False)
if not smvar is Nothing then smvar.activate