Add these for the top 2 lines. This way, it'll make sure that only 1 decimal of 1 negative sign can be entered.
Code:
If Chr$(KeyAscii) = "." And Text1 Like "*.*" Then KeyAscii = 0: Exit Sub
If Chr$(KeyAscii) = "-" And Text1 Like "*-*" Then KeyAscii = 0: Exit Sub