You could use OnChange event of the textbox but IMO it is not possible without a key press event (or did you mean you don't want to use SendKeys, which is not the same thing). However, you'd have to map out what happens for certain batches of keys; more so than what I show here, such as not allowing 0123.
Then there is the matter of what to do if decimal key is pushed and what to do if you want thousands separators. This might get you started
Code:
Private Sub myTextbox_KeyUp(KeyCode As Integer, Shift As Integer)
MsgBox KeyCode 'disable after testing
Select Case KeyCode
Case 43, 27, 10, 13, 8
'do nothing
Case 48 To 57
Me.myTextbox = Me.myTextbox & Chr(KeyCode)
Case 97 To 105
Me.myTextbox = Me.myTextbox & Chr(KeyCode - 48)
End Select
End Sub