I think I understand your test1.2 question, but don't understand how to derive the test2 output in your sample. Some VBA for the underlined question:
Public Function ParseTest(ByVal ctlCurr As Control) As String
Dim intPos As Integer
Dim strResult As String
Dim strBase As String
Dim intStart As Integer
Dim intEnd As Integer
Dim intOut As Integer
strResult = ""
intPos = InStr(1, ctlCurr.Value, ".")
If intPos > 0 Then
For intStart = intPos - 1 To 1 Step -1
If Asc(Mid(ctlCurr.Value, intStart, 1)) < 48 _
Or Asc(Mid(ctlCurr.Value, intStart, 1)) > 57 Then
Exit For
End If
Next intStart
strBase = Left(ctlCurr.Value, intStart)
intStart = Val(Mid(ctlCurr.Value, intStart + 1, intPos - intStart - 1))
intEnd = Val(Mid(ctlCurr.Value, intPos + 1, Len(ctlCurr.Value) - intPos))
For intOut = intStart To intEnd
strResult = strResult & strBase & CStr(intOut) & vbCrLf
Next intOut
strResult = Left(strResult, Len(strResult) - 1)
End If
ParseTest = strResult
End Function
In my test, I put an afterupdate event on the first text box:
Private Sub TextBox1_AfterUpdate()
Me.TextBox2.Value = ParseTest(Me.TextBox1)
End Sub