Claro, el problema está que keypress es un evento que sucede con el cambio...
La solución más óptima es utilizar el evento Validate.
el código dentro de dicho evento será algo como:
Private Sub Text1_Validate(Cancel As Boolean)
If IsNumeric(Text1.Text) = False Then
Cancel = True
' por ejemplo avisamos
MsgBox "sólo una expresión numérica.."
' y por ejemplo borramos
Text1.Text = ""
Else
' aquí el código que queramos hacer... sabiendo que es un número
End If
End Sub