Tenemos que crear un formulario y un campo de texto llamado Text1
CODIGO
// Codigo ofrecido por Tutores.org
PrivateSub Text1_KeyPress(KeyAscii AsInteger)
If KeyAscii = 46 And InStr(Text1, ".") > 0 Then
KeyAscii = 0
ExitSub
ElseIf (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 46 Then
KeyAscii = 0
EndIf
EndSub
ENLACE AL CODIGO
Si quieres enlazar desde tu pagina a este codigo
<!-- Inicio enlace Tutores.org -->
<a title="Tutores.org - Solo numericos en campo de texto y punto decimales" href="http://www.tutores.org/codigo/1598/" target="_blank">Solo numericos en campo de texto y punto decimales</a>
<!-- Final enlace Tutores.org -->
COMENTARIOS
Comentario usuario
Sin definirSin definir
45
buen aporte pero te equivocaste en la cuarta linea le pusiste "ElseIf (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 46 Then" esto efectivamente te permite ingresar numeros y un solo punto decimal pero no te deja borrar si lo pones " ElseIf (KeyAscii < 46 Or KeyAscii > 57) And KeyAscii <> 8 Then
" esto te permite borrar e ingresar numero y el punto
Comentario usuario
Sin definirSin definir
55
El comentario o "corrección" también está incorrecta, ya que permite poner el caracter "/" que tiene valor ascii 47 y con su filtrado ... KeyAscii < 46 Or KeyAscii > 57 ... pasa.
Sería mejor:
ElseIf (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 46 And KeyAscii <> 8 Then
Y así "esto te permite borrar e ingresar números y el punto" (sin caracteres extras)