I'm sorry but I can't understand your structure sequence ...
when findcr() return an error the msgbox() popup then what ? what u do ? and what make errors ? r they run-time errors ? where exactly ? u may make "on error resume next" or "on error resume goto err_handler" for example to catch the error at it's location ... or try debug mode to know where the error occure exactly .

it's better to post the location that contains error exactly and the error msg .