Nice one xld! I've never investigated RegExp, and I have to congratulate you on giving me a one-line reason for my aversions:

[vba]sREgExp = "\b([a-z]+\s+)*[A-Z](\w+\S?)*([-'][A-Z](\w+\S?)*)?\b(?=(\s+([JS]r\.?|[IVX]+))?\s*$|,)" [/vba]
I wish you luck in your quest!