¿Cómo crear una macro para expeditar?

Mi pregu ta es la siguiente soy compradora y necesito una macro para expeditar a los proveedores, en sí lo que necesito es que la macro envíe a cada destinatario de correo(proveedor) un mensaje predeterminado pero que únicamente cambie una información, más bien tengo una hoja de excel donde me indica fecha nombre de proveedor y orden de compra y quiero que a el proveedor le envíe el mensaje y ponga en el correo todas las ordenes de compra que se le fueron asignadas, soy nueva y básicamente no entiendo mucho lo de las macros.

1 respuesta

Respuesta
1

 H o  l a :

Tengo una aplicación para enviar correos masivos, pero tendrías que adaptar tu información a la aplicación, o bien, tendría que crear una aplicación nueva para tu archivo.

Envíame tu archivo con ejemplos completos de lo que tienes y de lo que necesitas enviar. Entre más clara sea la explicación, más práctico será crearte la macro.

IMPORTANTE! ¿El correo se va a enviar por outlook?

Los datos que debe tener tu archivo son:

  • Destinatario
  • Asunto
  • Cuerpo del correo

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Daniela Martinez” y el título de esta pregunta.

Ya te envié el correo, quedo al pendiente  y muchas gracias en verdad.

Te anexo la macro

Dim tabla, inicio, instruc, saludos
'***Macro Para enviar correos
Sub EnviarCorreo()
'Por.Dante Amor
    Application.EnableEvents = True
    '
    Dim numero As New Collection
    Set h1 = Sheets("Follow Up DM")
    Set h2 = Sheets("Info Vendors")
    Set numero = Nothing
    '
    For i = 2 To h2.Range("B" & Rows.Count).End(xlUp).Row
        vendor = h2.Cells(i, "B").Value
        Set r = h1.Columns("C")
        Set b = r.Find(vendor, lookat:=xlWhole)
        If Not b Is Nothing Then
            celda = b.Address
            Do
                numero.Add h1.Cells(b.Row, "E").Value
                Set b = r.FindNext(b)
            Loop While Not b Is Nothing And b.Address <> celda
            '
            correo = h2.Cells(i, "E").Value
            Set dam = CreateObject("outlook.application").createitem(0)
            dam.To = correo
            dam.Subject = "CONFIRMACION DE ORDEN DE COMPRA - INSTRUCCION PARA PAGO"
            '
            Call CrearTabla(vendor, numero)
            Call CrearMsg
            '
            dam.HTMLBody = _
                "<HTML> " & _
                    "<BODY>" & _
                        "<P>  " & inicio & _
                        "<br> " & tabla & _
                        "<br> " & instruc & "<br> " & _
                        "<br> " & saludos & _
                        "</P> " & _
                    "</BODY> " & _
                "</HTML>"
            dam.Display 'El correo se muestra
            dam.Send 'El correo se envía en automático
            Set dam = Nothing
            Set numero = Nothing
        End If
    Next
    MsgBox "Correos enviados", vbInformation, "SALUDOS"
End Sub
'
Sub CrearTabla(vendor, numero)
'Por.Dante Amor
    tabla = "<table border><tr>"
    ant2 = vendor
    For j = 1 To numero.Count
        tabla = tabla & "<td>" & ant2 & "</td>"
        tabla = tabla & "<td>" & numero(j) & "</td>"
        tabla = tabla & "</tr>"
        ant2 = ""
    Next
    tabla = tabla & "</table>"
End Sub
'
Sub CrearMsg()
'Por.Dante Amor
    inicio = "Buen día" & _
 end sub

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas