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.