Ciao Domenico, se come dici risolvi solo al 50% vuol dire che hai una grande quantità di stringhe non lineari, nel senso che differiscono dalle altre in modo sostanziale.
Prendiamo un esempio banale di Gognome o Nome doppio (a volte capitano anche tripli), se poi ci aggiungi (l'aggravante) del Cognome e Nome che possono trovarsi prima o dopo una serie di numeri, ad esempio:
Pinco Pallino 1-2-3
Pinco Paco Pallino 1-2-3
1-2-3 Pinco Pallino 4-5-6
e così via, le combinazioni potrebbero essere tante; considera poi casi di errore umano, dove ad esempio come separatore fra i numeri, venga messo per sbaglio il punto o la virgola, al posto del trattino, capirai che diventa un casino; quindi andrebbero analizzati tutti i dati per considerare le possibili varianti; poi forse si può automatizzare con una macro.
Come dico spesso, il problema è sempre a monte, cioè in fase di compilazione dati che bisogna stare attenti; immagino (come spesso succede) si tratti di dati che importi da file esterni, tipo .csv o simili.
Comunque se dai maggiori dettagli del tipo di stringhe che hai, vedrai che sul forum c'è gente in gamba con il VB e magari trova una soluzione.
Ciao e buona giornata.