Envio de Mails desde Excel
¿Cómo están? Tengo la siguiente macro:
Sub EnviarCorreos()
'Por.Dante Amor
Sheets(1).Select
For i = 9 To Range("BB" & Rows.Count).End(xlUp).Row
cinco = Cells(i, "BB").Value - 5
If Date = Cells(i, "BB").Value - 5 Or _
Date = Cells(i, "BB").Value - 10 Then
'
uc = Cells(i, Columns.Count).End(xlToLeft).Column
If uc >= Columns("BF").Column Then
For j = Columns("BF").Column To uc
para = para & Cells(i, j).Value & "; "
Next
Set dam = CreateObject("outlook.application").createitem(0)
dam.to = para
dam.Subject = "Informe de Vacaciones"
dam.body = "Por el presente se informa que el empleado abajo detallado, " & _
"gozará del siguiente Periodo Vacacional: " & vbCr & _
"Legajo: " & Cells(i, "D").Value & vbCr & _
"Nombre: " & Cells(i, "E").Value & vbCr & _
"Fecha de Inicio: " & Cells(i, "BB").Value & vbCr & _
"Fecha de Regreso: " & Cells(i, "BC").Value & vbCr & _
"Dias Totales de Vacaciones: " & Cells(i, "I").Value & vbCr & _
"Cantidad de días a Tomar: " & Cells(i, "BD").Value & vbCr & _
"Dias Restantes de Vacaciones: " & Cells(i, "BE").Value & vbCr & _
"Encargado: " & Cells(i, "AU").Value & vbCr & _
"Empleador: " & Cells(i, "AV").Value & vbCr & _
"Condición: " & Cells(i, "AW").Value & vbCr & _
"Antigüedad: " & Cells(i, "AY").Value & vbCr & vbCr & _
"Atentamente: Oficina de Recursos Humanos"
'
dam.Send 'El correo se envía en automático
'dam.Display 'El correo se muestra
End If
End If
Next
MsgBox "Revisón de envío de correos terminada"
End Sub
Quería saber si alguien puede ayudarme, ya que necesito que la misma, en vez de mandar un mail por cada persona que cumpla la condición (la persona sale de vacaciones tal fecha, entonces la macro envía un mail con el detalle que figura en la macro 10 y 5 días antes de la fecha en que efectivamente sale), envíe un solo mail, que resuma todas las personas que salen ese día, con idéntico detalle que en la macro, pero en una sola línea por cada uno.
Ejemplo: 3 personas salen el día 31/10/2017, entonces la macro deberá enviar 2 mails, uno el día 21/10/2017 y otro el día 26/10/2017, informando lo siguiente:
Legajo: 1 - Nombre: bla bla - Fecha inicio: 31/10/2017 - Fecha Regreso: 06/11/2017 - etc
Legajo: 2 - Nombre: bla bla- Fecha Inicio: 31/10/2017 - etc