Sí, es posible configurar un recordatorio en Excel para enviar un correo electrónico cuando haya pasado una semana desde una determinada acción. Para lograr esto, puedes utilizar macros en Excel y aprovechar la función de envío de correos electrónicos de Outlook. A continuación te proporciono un ejemplo de cómo puedes hacerlo:
Sub EnviarRecordatorio()
Dim OutApp As Object
Dim OutMail As Object
Dim FechaInicio As Date
Dim NumAccion As String
Dim Estado As String
Dim Motivo As String
Dim Celda As Range
' Define la columna donde se encuentran tus datos
Dim ColumnaFecha As String
Dim ColumnaNumero As String
Dim ColumnaEstado As String
Dim ColumnaMotivo As String
ColumnaFecha = "B"
ColumnaNumero = "C"
ColumnaEstado = "D"
ColumnaMotivo = "E"
' Define la dirección de correo electrónico a la que deseas enviar el recordatorio
Dim Destinatario As String
Destinatario = "[email protected]"
' Configura la aplicación de Outlook
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
' Define el rango de celdas donde se encuentran tus datos
Set rng = ActiveSheet.Range(ColumnaFecha & "2:" & ColumnaMotivo & Cells(Rows.Count, ColumnaFecha).End(xlUp).Row)
' Recorre cada celda en el rango y verifica si ha pasado una semana desde la fecha de inicio
For Each Celda In rng
FechaInicio = Celda.Offset(0, 0).Value
NumAccion = Celda.Offset(0, 1).Value
Estado = Celda.Offset(0, 2).Value
Motivo = Celda.Offset(0, 3).Value
' Verifica si ha pasado una semana y el estado es "abierto"
If FechaInicio + 7 <= Date And Estado = "abierto" Then
' Configura el correo electrónico
With OutMail
.To = Destinatario
.Subject = "Recordatorio: Acción " & NumAccion
.Body = "Número de acción: " & NumAccion & vbCrLf & "Motivo: " & Motivo
' .Display ' Utiliza esta línea en lugar de .Send para ver el correo antes de enviarlo
.Send
End With
End If
Next Celda
' Limpia la memoria
Set OutMail = Nothing
Set OutApp = Nothing
End Sub