I tend to you the keypress for that text box and something like

if keyascii = 32 then
else
if keyascii = 45 then
Else
if keyascii = 8 then
Else
If (KeyAscii > 47) And (KeyAscii < 58) Then ' check to make sure a number has been pressed
Else
MsgBox ("Numbers only please")
KeyAscii = 0
End If
End if
End if
End if

the keyascii for space is 32 and i think the the keyascii for - is 45.
keyascii for backspace = 8

I hope this makes sense. I am new to VB but finmd that this works for me

nuts