You are an experienced user, you know VBA, you know what a UDF is.
Declare a variable InNumber as Boolean, if the first char of the text is a number or a dot InNumber is True. Declare a variable FromPos as Long, initialize with 1.
For i=1 to Len(Text) , check if the char at the current position i is a number or dot, compare this with InNumber. If the result is the same, continue. Otherwise, copy the part from FromPos till the current position-1, set FromPos = current position and toggle InNumber.
After the loop, i = Len(Text)+1, copy the part from FromPos till i-1 to grab the last part.
IMHO that should work, what do you think?
Andreas.