Duda sobre macro para enviar alertas por correo

Tengo 2 posibles condiciones para los documentos "ACTUALIZAR" y "ACTUALIZADO". Tengo una lista de 200 documentos los cuales pueden tener una o la otra condición. Por cada vez que el estado es ACTUALIZAR, mi programa lo lee y me envía un correo diciéndome que ese documento se debe de actualizar. Mi problema es que al hacer el bucle, lee los estados y me envía por cada documento que cumple con la condición de "ACTUALIZAR" 1 correo, pero yo quiero que me liste todos los documentos y me envié 1 solo correo con todos los documentos que deben ser actualizados (estado ACTUALIZAR). El macro es el siguiente:

Public msj As String
Sub Avisocalidad()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
Dim fila, Doctip, Docdep, num, rev, tip, est, dep As String
Dim count As Integer
fila = 4
Do While Sheets("Lista").Cells(fila, 7) <> Empty
est = Sheets("Lista").Cells(fila, 11).Value
dep = Sheets("Lista").Cells(fila, 4).Value
If dep = "CALIDAD" And est = "ACTUALIZAR" And est <> Empty Then
count = count + 1
avnom = Sheets("Lista").Cells(fila, 5)
Docdep = Sheets("Lista").Cells(fila, 4)
Doctip = Sheets("Lista").Cells(fila, 3)
num = Sheets("Lista").Cells(fila, 7)
tip = Sheets("Lista").Cells(fila, 6)
rev = Sheets("Lista").Cells(fila, 8)
msj = " El " & Doctip & " " & tip & "-" & num & "-" & rev & " perteneciente al departamento de " & Docdep & " requiere revision y actualizacion." & vbCr & " Cantidad de documentos por revisar " & count & ""
UserForm_Calidad.Show
End If
fila = fila + 1
Loop
End Sub

Sub correcalidad()
Dim OutApp As Object
Dim OutMail As Object

Set OutApp = CreateObject("outlook.application")
Set OutMail = OutApp.CreateItem(0)

With OutMail
.To = "micorreo"
.Subject = "Documentos pendientes de revisión"
.Body = msj
.display
End With
On Error GoTo 0

Set OutMail = Nothing
Set OutApp = Nothing
End Sub

1 respuesta

Respuesta
1

Sin tenerlo todo no es fácil, e igual lo que te digo es una chapuza, pero prueba a poner el

UserForm_Calidad.Show 

Fuera del bucle (debajo del loop)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas