No me permite salir sin grabar y tampoco limpiar el formulario en VBA de Excel
Tomé esta rutina publicada hace ya un tiempo por el experto Dante y me funciona muy bien. Ahora, si no tiene una fecha válida no me permite salir sin grabar por medio de un commandbutton y lo mismo ocurre si quiero limpiar el formulario... ¿qué salida puedo tener a este problema?
La rutina que estoy utilizando es la siguiente:
Private Sub Txt_MesAno_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'Valida formato de fecha en un textbox 'Por.Dam On Error Resume Next Txt_MesAno.Text = Format(CDate(Txt_MesAno), "dd/mm/yyyy") fechaentrada = Txt_MesAno.Value fecha = Txt_MesAno.Value For i = 1 To 10 If Mid(fecha, i, 1) = "/" Or Mid(fecha, i, 1) = "-" Or Mid(fecha, i, 1) = "." Then fecha = Left(fecha, i - 1) & Mid(fecha, i + 1) End If Next If Len(fecha) <> 8 Then MsgBox "fecha invalida_a " & fechaentrada Cancel = True Else fecha = Left(fecha, 2) & "/" & Mid(fecha, 3, 2) & "/" & Right(fecha, 4) fecha = DateValue(fecha) If Err.Number <> 0 Then MsgBox "fecha invalida_b " & fechaentrada Cancel = True Else Txt_MesAno.Value = fecha End If End If End Sub
1 respuesta
Respuesta de Abraham Valencia
1