Jump to content

Impedir escribir en un control


shadowjuan

Recommended Posts

Posted

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.

Posted

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.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

Privacy Policy