Permitir SOLO NÚMEROS o letras en TextBox de Formulario en Excel
En Excel, puedes usar la validación de datos para permitir solo números o solo letras en un TextBox de un formulario. Aquí te muestro cómo hacerlo utilizando VBA (Visual Basic for Applications):
### Para permitir solo números:
1. Abre tu archivo de Excel.
2. Presiona `ALT + F11` para abrir el editor de VBA.
3. En el panel de la izquierda, busca tu formulario (UserForm) y haz doble clic en él para abrir su código.
4. Asegúrate de tener un TextBox en tu formulario (por ejemplo, `TextBox1`).
5. En la sección de código del formulario, agrega el siguiente código:
```vba
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not (KeyAscii >= 48 And KeyAscii <= 57) Then ' Solo permite números
If KeyAscii <> vbBack Then ' Permite la tecla de retroceso
KeyAscii = 0 ' Cancela la entrada
End If
End If
End Sub
```
### Para permitir solo letras:
1. Sigue los mismos pasos anteriores para abrir el editor de VBA y el código de tu formulario.
2. Agrega el siguiente código en la sección de código del formulario:
```vba
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not (KeyAscii >= 65 And KeyAscii <= 90) And Not (KeyAscii >= 97 And KeyAscii <= 122) Then ' Solo permite letras
If KeyAscii <> vbBack Then ' Permite la tecla de retroceso
KeyAscii = 0 ' Cancela la entrada
End If
End If
End Sub
```
### Notas importantes:
- En el código anterior, `KeyAscii` es el valor ASCII de la tecla que se presiona. Los valores entre 48 y 57 corresponden a los números del 0 al 9, mientras que 65 a 90 y 97 a 122 corresponden a las letras A-Z y a-z respectivamente.
- La instrucción `KeyAscii = 0` cancela la entrada si no se cumplen las condiciones.
- La condición `If KeyAscii <> vbBack` permite usar la tecla de retroceso para que el usuario pueda borrar caracteres.
### Guardar y Probar:
1. Guarda los cambios.
2. Cierra el editor de VBA.
3. Ejecuta tu formulario para probar la funcionalidad. Al intentar ingresar caracteres no permitidos, no deberían ser aceptados en el TextBox.
Esto te permitirá controlar si el usuario ingresa solo números o solo letras en el TextBox de tu formulario de Excel.