Mensaje de alerta al cumplirse una fecha y siga apareciendo determinado tiempo.

DAM, Que tal; necesito de tu ayuda en la siguiente macro:

Tengo en una hoja de excel llamada " DESARROLLO DEL PROCESO " unos datos, en la columna "A" un número único de identificación de 23 dígitos, como por ejemplo "12345678901234567890123" y en la columna "Z" unas fechas con formato "dd/mm/yyyy", necesito que cuando la fecha es igual a "Hoy" me aparezca un mensaje de recordatorio parecido a esto:

"SE LE RECUERDA QUE HOY SE VENCE TÉRMINOS DE PROCESO 12345678901234567890123"

El mensaje debe contar con dos botones:

1. TAREA REALIZADA

2. RECORDAR

Para el PRIMER botón, no volver a aparecer el mensaje y para el SEGUNDO deberá seguir apareciendo cada 45 minutos, hasta que se de click en el Botón 1 de "TAREA REALIZADA".

Muchas gracias de antemano y quedo a la espera de cualquier requerimiento, para tu ayuda.

SAludos.

1 Respuesta

Respuesta
1

¿Te doy las macros y tú las adaptas al libro?

¿O me envías tu libro y adapto las macros?

La macro deberá verificar todas los número de Identificación y solamente excluirá aquellos números donde ya presionaste el botón "Tarea realizada"?

Suponiendo que tienes 3 ID que su fecha es igual a la de hoy, entonces para el primer ID te aparece el mensaje, elijes "Tarea realizada", para los ID2 y ID3 te aparece el mensaje y elijes "RECORDAR", entonces en 45 min, te aparece el mensaje para el ID2 y el ID3, ¿es así como lo quieres?

Espero tus comentarios

Si me envías tu libro: Mi correo [email protected]

DAM, Hola, en cuanto a tu

Primera pregunta, si me la puedes enviar y yo la adapto; aunque esos son los datos reales de nombres y columnas, te agradecería.

A la Segunda pregunta "Suponiendo que tienes 3 ID que su fecha es igual a la de hoy, entonces para el primer ID te aparece el mensaje, elijes "Tarea realizada", para los ID2 y ID3 te aparece el mensaje y elijes "RECORDAR", entonces en 45 min, te aparece el mensaje para el ID2 y el ID3, es así como lo quieres?", es exactamente eso lo que necesito.

Muchas gracias de antemano.

Saludos.

Funciona así

En thisworkbook pon esta macro, esto es para que al abrir el libro se ejecute la macro, en el evento open.

Private Sub Workbook_Open()
'Por.DAM. Incia alarma
Sheets("Hoja1").Range("AA1") = ""
Reloj
End Sub

Ahora crea un módulo y pon estas macros:

Sub Reloj()
'Por.Dam. Incia validación
If Range("AA1") = "" Then
    For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
        If Range("Z" & i) = Date And Range("AA" & i) = "" Then
            res = MsgBox("SE LE RECUERDA QUE HOY SE VENCE TÉRMINOS DE PROCESO: " & Range("A" & i) & vbCr & _
            "TAREA REALIZADA: Presiona Si" & vbCr & _
            "RECORDAR: Presiona No" & vbCr & _
            "Si quieres Dentener la alarma para todos: Presiona Cancel", _
            vbYesNoCancel + vbQuestion, "VALIDACIÓN DE FECHAS")
            Select Case res
                Case vbYes: Range("AA" & i) = "Realizada"
                Case vbNo: Range("AA" & i) = ""
                Case vbCancel
                    Range("AA1") = "Alarma detenida"
                    Exit Sub
            End Select
        End If
    Next
Else
    Exit Sub
End If
    'actualizar el reloj con parámetros horas : minutos : segundos
    Application.OnTime Now + TimeValue("00:00:45"), "reloj"
End Sub
Sub reiniciar_alarma()
'Por.DAM
Range("AA1") = ""
Reloj
End Sub
Sub Parar_Reloj()
'Por.DAM
On Error Resume Next
Application.OnTime Now + TimeValue("00:00:01"), "reloj", False
End Sub

El mensaje te pone 3 botones, “Si” “No” y “Cancel”, si presionas “Si” entonces la tarea está terminada y te pondrá en la columna “AA” y la fila de ese ID la palabra “Realizada”, con esto identificamos que la tarea ya está realizada, para que a la siguiente vez ya no pregunte por esa tarea.
Si contestas “No” entonces a la siguiente vez preguntará nuevamente.
Y por último agregué esta opción, si contestas “Cancel”, la macro se detiene y escribe en la celda “AA1” la frase “Alarma detenida”
Si quieres iniciar nuevamente la alarma entra a VBa en thisworkbook y ejecuta la macro del evento open.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas