Donde colocar un MSGBox avisando que se coloque la fecha

Estoy trabajando con dicha macro y no encuentro dentro de esta misma colocar un MsgBox avisando que el campo del textFecha debe estar completo.

Private Sub Aceptar_Click()

    Fecha = TextFecha.Value

    Codigo = TextCodigo.Value

    Apellido = TextApellido.Value

    Nombre = TextNombre.Value

Set mifila = Hoja1.ListObjects(1).ListRows.Add

With mifila

    .Range(1) = CDate(Fecha)

    .Range(2) = Codigo

    .Range(3) = Apellido

    .Range(4) = Nombre

    If Me.OpPresente = True Then

        .Range(5) = "1"

    End If

    If Me.OpAusente = True Then

        .Range(6) = "1"

    End If

End With

    TextCodigo = Empty

    TextApellido = Empty

    TextNombre = Empty

TextFecha.SetFocus

Range("MiRango[[#Headers],[FECHA]]").Select

    Selection.End(xlDown).Select

End Sub

2 Respuestas

Respuesta
1

I. Hola Compañero, por mi parte no soy usuario habitual de VBA ni de Excel, pero como suelo comentar quisiera trasladarle la información que vi sobre su consulta por si pudiese serle de alguna utilidad mientras le atiende un experto o experta de primera mano.

Le ruego me disculpe la imprecisión y molestias de lectura, ánimo.

https://stackoverflow-com.translate.goog/questions/52629692/macro-displays-a-pop-up-message-if-the-date-in-the-cell-applies-today?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc 

https://www-mrexcel-com.translate.goog/board/threads/date-appear-in-msgbox.69665/?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc 

https://www.youtube.com/watch?v=5VUF_yzCx9s 

https://es.stackoverflow.com/questions/55219/recordatorios-si-una-celda-coincide-con-una-fecha-en-excel-vba 

https://www.youtube.com/watch?v=nAMZNZNgnEQ 

https://www.excel-vba.com/macros/vba-15-code-message-box.htm 

https://foro.todoexcel.com/threads/msgbox-con-fecha-y-hora.20810/ 

https://foro.todoexcel.com/threads/colocar-la-fecha-del-sistema-en-un-msgbox.25034/ 

I. Pd, disculpen, tardé muchísimo y no vi la respuesta previa de la experta Elsa Matilde.

Respuesta
4

Todas los controles de contenidos deben ser efectuados antes de guardar.

Aquí solicitas solo la fecha, pero podrías necesitar controlar otros campos también: que no falte el nombre, las cantidades sean numéricas, etc. Y todo esto, si no se realiza al salir de cada campo hay que hacerlo al inicio del botón Aceptar

A continuación un ejemplo controlando 3 tipos de datos.

Private Sub Aceptar_Click()
'control de contenidos: nombre, fecha y formato Cuit
If TextBox4 = "" Then
    MsgBox "Falta el nombre del Proveedor.", , "Faltan Datos"
    TextBox4.SetFocus
    Exit Sub
End If
If TextBox7 = "" Or Not IsDate(TextBox7) Then
    MsgBox "Error en el ingreso de la fecha.", , "Error en datos"
    TextBox7.SetFocus
    Exit Sub
End If
If TextBox12 <> "" And Len(TextBox12) <> 11 Then
    MsgBox "El CUIT requiere de 11 dígitos.", , "ERROR"
    TextBox12.SetFocus
    Exit Sub
End If
'agregar aquí todos los controles necesarios según tipo de campos.
sino = MsgBox("¿Deseas guardar estos datos?", vbQuestion + vbYesNo, "Confirmar")
If sino <> vbYes Then Exit Sub

En los videos Nº 6 y 27+28 de mi canal encontrarás formularios listos con las principales macros. Los libros se pueden descargar desde el Blog.

https://www.youtube.com/watch?v=atpulwK98j8&list=PLrhlyizWZzOERwRMxIIy-BTP-CyXh_K5N&index=60 

https://www.youtube.com/watch?v=HUYed3dsxn0&list=PLrhlyizWZzOERwRMxIIy-BTP-CyXh_K5N&index=81 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas