Saltar al contenido

Impedir escribir en un control


shadowjuan

Recommended Posts

publicado

Esto sirve para que no se pueda teclear nada (aunque sí se puede borrar contenido con SUPR o RETROCESO), y es útil si tenemos en un formulario, como en mi caso, una combobox pero no queremos que el usuario escriba lo que le venga en gana. Si queremos que esta combobox tenga el mismo valor de inicio que una celda (un texto o lo que sea), no puede estar como dropdownlist, porque da error de propiedad, y como dropdownbox el usuario puede escribir lo que le venga en gana. Para evitar eso, es "tan sencillo" como poner esto:

Sub combobox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Evitar escribir
If KeyAscii > 0 Then KeyAscii = 0
End Sub[/CODE]

Así, el "efecto" es que, por más letras, números o signos que se escriban, "no se teclea nada", obligando a elegir de la lista desplegable para introducir un valor.

publicado

Hola:

De nuevo la idea es buena, pero tiene dos inconvenientes:

1) No evita el Ctrl+V

2) Elimina la búsqueda por aproximación

Prueba este código a ver que te parece:

Private Sub ComboBox1_Change()
If ComboBox1.ListIndex = -1 And _
Len(ComboBox1) > 0 Then
ComboBox1.Text = ""
End If
End Sub
[/CODE]

Saludos.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.