Io suggerirei di evitare, per motivi di chiarezza e uniformità, l'uso di Err.Raise e di sostituirlo con l'istruzione Throw.

Poi, analizzando il codice e descrivendo con precisione ciò che si desidera ottenere, è possibile modificarlo opportunamente.

Ciao!