Mensaje via MsgBox en evento
Espero estés bien
Tengo 2 opciones (eventos), pero dentro de ello(s) quería los MsgBox. Te dejo la selección del evento a ti
Private Sub TextBox6_Change() Select Case Len(TextBox6) Case 2: TextBox6.Text = TextBox6.Text & "-" 'Barra en el 3º puesto Case 5: TextBox6.Text = TextBox6.Text & "-20" 'Barra en el 6º puesto 'Validamos que la fecha sea una fecha valida Case 10: If Not IsDate(TextBox6) Then MsgBox "Inserción de Fecha, inválida", vbExclamation End Select End Sub
Case 5: TextBox6.Text = TextBox6.Text & "-20" 'Barra en el 6º puesto
Como ves en esta línea tiene "-20" que funciona perfecto, ese es uno de los pedidos míos.
El detalle es que SI me presenta el mensaje de fecha invalida, pero al aceptar el MsgBox puedo seguir introduciendo caracteres y no quisiera. Si también quisiera que me diera además del 1º mensaje, el mensaje de que solo acepta 10 caracteres, tal como lo hace el siguiente evento
Private Sub TextBox6_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 'En el puesto 3 y 6 If Len(TextBox6) = 2 Or Len(TextBox6) = 5 Then: TextBox6.Text = UCase(TextBox6.Text & "-") 'LCase coloca en minusculas If Len(TextBox6) = 10 Then KeyAscii = 0: MsgBox "MAX permitido en fecha, 10 dígitos", vbInformation, Title:="MAX CARACTER": Exit Sub End Sub
El 1º no me da el aviso de MAX caracteres y el segundo no me da el mensaje de "Inserción de Fecha, inválida".
Resumen:
En el evento que escojas, quiero que introduzca el carácter además del - en el 3 puesto, también el -20 en el 6º como se ve en el 1º evento, PERO que contenga en su posición oportuna, adecuada los 2 mensajes
MsgBox "Inserción de Fecha, inválida", vbExclamation,Title:="MAX CARACTER": Exit Sub
MsgBox "MAX permitido en fecha, 10 dígitos", vbInformation, Title:="MAX CARACTER": Exit Sub
Agradecido Dante