Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado
5.1

Enviar un correo a una lista de contactos

| 1 Comment

El envío frecuente de correos a una lista de contactos  por campaña publicitaria, comunicar una nueva norma en el trabajo o la convocatoria a la reunión semanal de un comité o una junta de vecinos, se puede realizar en el menor tiempo posible si automatizamos el procedimiento utilizando la macro con el siguiente código en VBA con la ayuda del Excel:

Sub correomasivo()
‘Paso 1: Declarar las variables
Dim OLApp As Outlook.Application
Dim OLMail As Object
Dim MyCell As Range
Dim Mycontacs As Range
‘Paso 2: Definir el rango donde se encuentran los contactos
Set MyContacts = Sheets(“contactos”).Range(“E2:E40”)
‘Paso 3: Abrir Outlook
Set OLApp = New Outlook.Application
Set OLMail = OLApp.CreateItem(0)
OLApp.Session.Logon
‘Paso 4: Ingresar cada dirección de correo
With OLMail
For Each MyCell In MyContacts
.BCC = .BCC & Chr(59) & MyCell.Value
Next MyCell
.Subject = “Reunión Urgente”
.Body = “Acuerdo sobre la cuota que se debe pagar por motivos de mantenimiento del edificio”
.Attachments.Add ActiveWorkbook.FullName
.Display
End With
‘Paso 5: Liberar memoria
Set OLMail = Nothing
Set OLApp = Nothing
End Sub

Paso N° 1

La mayoria de empresas utilizan el Outlook como software de comunicación interna y externa mediante correos electrónicos, por lo que antes de todo se debe activar la referencia Microsoft.Outlook.15.0.Object.Library en el módulo VBA, de la siguiente manera :

Paso N° 2

Tener una lista de tus contactos en una  hoja excel.

5.1

Paso N° 3

En el módulo VBA insertar un nuevo módulo y copiar el código, que se detalló lineas arriba.

5.4

Paso N° 4

Correr la macro, enviará el correo a la lista de contactos de la hoja “contactos” y a las direcciones de correo del rango “E2:E40”

Set MyContacts = Sheets(“contactos”).Range(“E2:E40”)

Con el Título: “Reunión Urgente”

Subject = “Reunión Urgente”

Y con el contenido: “Acuerdo sobre la cuota que se debe pagar por motivos de mantenimiento del edificio”
.Body = “Acuerdo sobre la cuota que se debe pagar por motivos de mantenimiento del edificio”

Lo cual podrá ser modificado a elección del usuario.

El archivo:

Descargar Ejemplo – Correo lista de contactos

One Comment

  1. muchas gracias, me fue de mucha utilidad!

Deja un comentario

Required fields are marked *.


Excel Avanzado located at , Lima, Perú . Reviewed by usuarios rated: 4.7 / 5