Macro para obligar a introducir la fecha y la hora excel vba

Sres T.E.

Necesito de Uds. Crear una Macro que obligue a introducir la fecha y la Hora de la forma siguiente "dd/mm/yyy hh:mm", la idea no es formato sino los valores tales como:

01/01/2023 07:25, de introducirlo de forma errónea como 01/01/2023 o de cualquier otra forma no completa, muestre un mensaje de error.

1 respuesta

Respuesta

Crear una macro en VBA para Excel que obligue al usuario a introducir una fecha y hora en el formato "dd/mm/yyyy hh:mm" y muestre un mensaje de error si el formato es incorrecto. Aquí tienes el código:

Sub ValidarFechaHora()
    Dim fechaHora As String
    Dim formatoCorrecto As Boolean
    fechaHora = InputBox("Introduce la fecha y hora en formato dd/mm/yyyy hh:mm")
    formatoCorrecto = False
    Do While Not formatoCorrecto
        If Len(fechaHora) <> 16 Then
            MsgBox "El formato de fecha y hora es incorrecto. Inténtalo de nuevo.", vbCritical, "Error"
            fechaHora = InputBox("Introduce la fecha y hora en formato dd/mm/yyyy hh:mm")
        Else
            Dim dia As Integer
            Dim mes As Integer
            Dim anio As Integer
            Dim hora As Integer
            Dim minuto As Integer
            dia = Mid(fechaHora, 1, 2)
            mes = Mid(fechaHora, 4, 2)
            anio = Mid(fechaHora, 7, 4)
            hora = Mid(fechaHora, 12, 2)
            minuto = Mid(fechaHora, 15, 2)
            If IsDate(dia & "/" & mes & "/" & anio & " " & hora & ":" & minuto) Then
                formatoCorrecto = True
            Else
                MsgBox "El formato de fecha y hora es incorrecto. Inténtalo de nuevo.", vbCritical, "Error"
                fechaHora = InputBox("Introduce la fecha y hora en formato dd/mm/yyyy hh:mm")
            End If
        End If
    Loop
    MsgBox "Fecha y hora introducidas correctamente: " & fechaHora, vbInformation, "Éxito"
End Sub

Esta macro muestra una ventana de entrada (InputBox) donde el usuario puede introducir la fecha y hora en el formato solicitado. Luego, verifica si el formato es correcto. Si no es así, muestra un mensaje de error y solicita al usuario que introduzca nuevamente la fecha y hora en el formato correcto. La macro sigue solicitando el formato correcto hasta que el usuario lo introduzca correctamente. Finalmente, muestra un mensaje de éxito con la fecha y hora introducidas correctamente.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas