Se metti Exit Sub prima del MessageBox() la vedo dura...

Il controllo sulla validità della variabile Risultato va fatto immediatamente dopo la riga che la valorizza.

1 - se l'utente preme Annulla, sai cosa succede?
2 - la verifica dell'esistenza va fatta sulla tabella (non nel datagrid!)

se il controllo non passa:
- prima mostri il MessageBox()
- poi fa Exit Sub