Potresti cercare i caratteri non ammessi (+ o -) e cancellarli.
codice:
Private Function StrGiusta(Str1 As String) As String
Dim Cont As Integer

For Cont = 1 To Len(Str1)
  If InStr(1, "0123456789,", Mid(Str1, Cont, 1)) = 0 Then
    Str1 = Replace(Str1, Mid(Str1, Cont, 1), "")
  End If
Next Cont
StrGiusta = Str1
End Function

Private Sub Text1_Change()
Text1.Text = StrGiusta(Text1.Text)
Text1.SelStart = Len(Text1.Text)
End Sub