Como cambiar en un user form un cuadro de texto, a un cuadro de lista y me siga manteniendo la macro

Buenas tardes experto, tengo el siguiente problema es que tengo un formulario en visual basic, que esta basado en cuadro de texto, pero una vez que lo termine me entro la inquietud de como puedo hacer para que ciertos cuadros de textos solo se puedan escribir ciertas palabras, que si no se escribe echas palabras le mande un mensaje y no deje ingresar los datos en el formulario hasta que se escriba la palabra correcta

1 Respuesta

Respuesta
1

¿No comprendo qué tiene que ver la consulta con el título ... no necesitas un cuadro de lista verdad? ¿Solo necesitas validar las entradas en los cuadros de texto?

Te dejo un ejemplo para un cuadro de texto llamado TextBox1 donde solo debe ingresarse las palabras "Listo" y "Pendiente":

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1 <> "Listo" And TextBox1 <> "Pendiente" Then Cancel = True
End Sub

Pruébalo y verás que no podrás avanzar si no ingresas alguna de esas palabras.

Otra opción es no controlar cada textbox sino recién en un botón que sea de ACEPTAR:

Private Sub CommandButton1_Click()
'CONTROL DE CADA TEXTBOX
If TextBox1 <> "Listo" And TextBox1 <> "Pendiente" Then
MsgBox "Error en el ingreso del campo 1", , "ERROR"
'se vuelve al control
TextBox1.SetFocus
Exit Sub
End If
' control del 2do textbox
If TextBox2 <> "xxxxx" Then
MsgBox "Error en el ingreso del campo 2", , "ERROR"
'se vuelve al control
TextBox2.SetFocus
Exit Sub
End If
' repetir para el resto de controles
End Sub

Evalua cuál será tu mejor alernativa y si todo queda resuelto no olvides finalizar la consulta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas