It goes like this

Code:
Sub doubleParse(astring$, dbl#())
ReDim dbl#(20)
doublecount = 0
arg = Split(astring$, " ")
For i = 0 To UBound(arg)
    If Len(arg(i)) Then
        dbl#(doublecount) = CDbl(arg(i))
        doublecount = doublecount + 1
        If doublecount = UBound(dbl) Then
            newub = UBound(dbl) + 20
            ReDim Preserve dbl#(newub)
        End If
    End If
Next
ReDim Preserve dbl#(doublecount - 1)
End Sub


Code:
astring$ = " 12.0  12.0  34.5       45.6    57.0   "

ReDim dblarray#(0)
doubleParse astring$, dblarray#()

rem array packed tight on return
MsgBox UBound(dblarray#)