Enviar correo desde excel cuando se cumpla una condición

Necesito que mediante excel, se envíe un correo a cada usuario, cuando se cumpla una condición, tengo una planilla con Nombre, Vencimiento Examen, Correo, Asunto, Mensaje, cuando la fecha de vencimiento de examen, comparada con la fecha actual, sea igual a 30 días, se envíe un correo avisando de esto.

1 Respuesta

Respuesta
2

Te anexo la macro para enviar por outlook.

Nota: la macro funciona considerando los datos tal cual se muestran en tu imagen.

Sub Enviar_Correos()
'Por Dante Amor
    For i = 7 To Range("D" & Rows.Count).End(xlUp).Row
        fec = Cells(i, "D").Value
        fec = Date + 30
        If Cells(i, "D").Value = Date + 30 Then
            Set dam = CreateObject("outlook.application").createitem(0)
            dam.To = Cells(i, "E").Value 'Destinatarios
            dam.Subject = Cells(i, "F").Value
            dam.Body = Cells(i, "G").Value
            'dam.Send 'El correo se envía en automático
            dam.Display 'El correo se muestra
        End If
    Next
    MsgBox "Correos enviados"
End Sub


'.[Sal u dos. Dante Amor. No olvides valorar la respuesta. 
'.[Avísame cualquier duda

Muchas gracias, funciono perfecto.

Una duda, para que esto funcione permanente mente, tendría que tener abierto siempre el excel o como puede hacer para que cuando encienda el computador, esto funcione automáticamente.

En windows, hay un administrador de tareas, ahí le puedes indicar que te abra el archivo de excel.

En tu archivo de excel en los eventos de Thisworkbook pon lo siguiente

Private Sub Workbook_Open()
Call Enviar_Correos
End Sub

Instrucciones para poner la macro en los eventos ThisWorkbook

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a ThisWorkbook
  4. En el panel del lado derecho copia la macro

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas