Excel - Textbox solo para números

 
Vista:

Textbox solo para números

Publicado por Carlos (5 intervenciones) el 25/06/2007 17:32:18
Hola...Quisiera que alguien me diga como puedo hacer para que un Textbox solo acepte números para el ingreso de datos, no quiero que acepte texto o letras,....Gracias por la respuesta
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Abraham Valencia
Val: 313
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

RE:Textbox solo para números

Publicado por Abraham Valencia (2415 intervenciones) el 25/06/2007 17:56:39
1
2
3
4
5
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0
End If
End Sub

Abraham
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:Textbox solo para números

Publicado por JuanC (792 intervenciones) el 25/06/2007 22:58:40
otra versión (aún mejorable!)...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim s$
Select Case KeyCode
       Case VBA.vbKeyBack, VBA.vbKeyDelete
       Case VBA.vbKeyDown, VBA.vbKeyUp
       Case VBA.vbKeyLeft, VBA.vbKeyRight
       Case VBA.vbKeyEnd, VBA.vbKeyHome
       Case VBA.vbKeyReturn, VBA.vbKeyTab
       Case 48 To 57       '0-9
       Case 96 To 105
       Case 188, 110, 190: ', .
            KeyCode = 188
            If InStr(1, TextBox1.Text, ",") > 0 Then KeyCode = 0
       Case 109, 189:      '-
            KeyCode = 0
            If InStr(1, TextBox1.Text, "-") = 0 Then
                TextBox1.Text = "-" & TextBox1.Text
            Else
                TextBox1.Text = VBA.Replace(TextBox1.Text, "-", "")
            End If
       Case Else: KeyCode = 0
End Select
End Sub

Saludos desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:Textbox solo para números

Publicado por charles (1 intervención) el 01/12/2012 21:16:07
Excelente JuanC una consulta y si quiero que mi TexBox acepte como mínimo y como máximo 21 caracteres como puedo hacer
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Textbox solo para números

Publicado por CESAR AUGUSTO NIÑO (1 intervención) el 23/06/2016 18:24:38
Excelente, me funcionó mil gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Textbox solo para números

Publicado por CHARLY (1 intervención) el 13/02/2013 06:25:32
Saludos Abraham

Me funciono Excelente
una consulta adicional como puedo controlar la cantidad de dígitos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Textbox solo para números

Publicado por jorge (1 intervención) el 22/03/2016 20:15:31
los textbox tiene una propiedad que se llama maxlenght en visual, eso delimita la cantidad de caracteres que recibe la caja
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:Textbox solo para números

Publicado por Astlimbark (1 intervención) el 11/03/2015 22:36:19
Waooo muchas gracias Abraham, después de 8 años de haber publicado tu aportación, hoy me sirvió de mucho >.< justo lo que estaba buscando.
Cambie un poco el procedimiento para que cuando sea introducido un carácter alfabético me mostrará un mensaje en un label que utilizo como una barra de estado.
Este código es para introducir en un textbox la edad en una base de datos.
Comparto el procedimiento.

1
2
3
4
5
6
7
8
9
Private Sub TextBox9_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
      'Código para restringir ingreso a solo numeros
      If KeyAscii < 48 Or KeyAscii > 57 Then
      KeyAscii = 0
      status_bar = "!!!ATENCION!!!, este campo es únicamente numérico."
      Else
      status_bar = "Edad"
      End If
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:Textbox solo para números

Publicado por Kris (1 intervención) el 27/07/2019 00:24:05
Me fue de mucha utilidad gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 2
Ha aumentado su posición en 11 puestos en Excel (en relación al último mes)
Gráfica de Excel

RE:Textbox solo para números

Publicado por Alberto Venegas (1 intervención) el 07/10/2019 04:22:17
Gracias me sirvio de mucho.

atte
Alberto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Textbox solo para números

Publicado por José solis (1 intervención) el 30/03/2021 20:38:36
Buena tarde, probé este código y tiene un problema, no acepta el número 9, el código está excluyendo el código ascii 57 que es el número 9, el código debería ser:

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii < 48 Or KeyAscii > 58 Then
KeyAscii = 0
End If
End Sub

De está manera se incluye el código acsii 57
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Textbox solo para números

Publicado por Jose Barron (1 intervención) el 30/12/2022 16:06:36
Muchas gracias, una gran ayuda....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de daniel

Textbox solo para números

Publicado por daniel (1 intervención) el 21/02/2017 08:11:53
Establece el evento Keypress y dentro de el ingresa el siguiente código:

key
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Hector Madriz
Val: 575
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Textbox solo para números

Publicado por Hector Madriz (137 intervenciones) el 27/07/2019 05:24:57
Buen día,

1
2
3
Private Sub TextBox1_Change()
   If Not IsNumeric(TextBox1.Value) Then TextBox1.Value = Null
End Sub

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Andres Leonardo
Val: 3.136
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Textbox solo para números

Publicado por Andres Leonardo (1583 intervenciones) el 07/10/2019 17:47:18
Hola Hector,

Es una excelente manera de valida, l unico tema que le veo es que si ingreso 6 numeros y luego una letra todo el contenido se pierde cierto.

SAludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Textbox solo para números

Publicado por JORGE (1 intervención) el 05/10/2021 15:00:34
Hola...
Este procedimiento no funciona a la perfección, ya que si intruduces puntos, los reconoce como números.
Puedes ingresar 3, 4 o más puntos seguidos, y los va a reconocer como números
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar