Здесь некоторое Кодий:
Приватная подводная лодка TextBox1_KeyPress (ByVal KeyAscii как MSForms.ReturnInteger)
Выберите случай KeyAscii
Покрывайте Asc («0») к Asc («9»)
Покрывайте Asc («-»)
Если Instr (1, Me.TextBox1.Text, «-») > 0 или Me.TextBox1.SelStart > 0 после этого
KeyAscii = 0
Закончитесь если
Покрывайте Asc («.")
Если InStr, то (1, Me.TextBox1.Text, «.") > 0 после этого
KeyAscii = 0
Закончитесь если
Покрывайте еще
KeyAscii = 0
Конец отборный
Подводная лодка конца
отсюда: http://www.cpearson.com/excel/TextBox.htm