¿Cómo enviar correos según condiciones lógicas de Excel?

Para enviar correos electrónicos desde Excel basándote en condiciones lógicas, puedes usar Visual Basic for Applications (VBA) para automatizar el proceso. Aquí tienes un ejemplo básico de cómo hacerlo:

  • Abrir el Editor de VBA:
    • Abre Excel y presiona `Alt` + `F11` para abrir el Editor de Visual Basic para Aplicaciones.
  • Insertar un Módulo Nuevo:
    • Haz clic en `Insertar` > `Módulo` para crear un nuevo módulo donde escribirás tu código.
  • Escribir el Código de VBA:

Copia y pega el siguiente código, haciendo los ajustes necesarios según tus necesidades (como el cuerpo del correo, el asunto, las direcciones de correo, etc.):

   Sub EnviarCorreos()

       Dim OutlookApp As Object
       Dim OutlookMail As Object
       Dim rng As Range
       Dim i As Integer
       
       ' Establece el rango de celdas que deseas comprobar
       Set rng = ThisWorkbook.Sheets("Hoja1").Range("A2:A10") ' Ajusta el rango y hoja según tus necesidades

       ' Inicializa Outlook
       Set OutlookApp = CreateObject("Outlook.Application")
       
       ' Itera a través de cada celda en el rango
       For i = 1 To rng.Rows.Count
           If rng.Cells(i, 1).Value > 100 Then ' Cambia esta condición según tus necesidades
            
               ' Crea un nuevo correo
               Set OutlookMail = OutlookApp.CreateItem(0)
               With OutlookMail
                   .To = "destinatario@ejemplo.com" ' Cambia por la dirección del destinatario
                   .Subject = "Asunto del Correo"
                   .Body = "El valor en la celda " & rng.Cells(i, 1).Address & " es " & rng.Cells(i, 1).Value
                   ' .Send ' Usa esto para enviar el correo automáticamente
                   .Display ' Usa esto para mostrar el correo; quita esta línea si usas .Send
               End With
           End If
       Next i
       
       ' Libera el objeto Outlook
       Set OutlookMail = Nothing
       Set OutlookApp = Nothing

   End Sub
  • Ajusta el Código Según tus Necesidades:
    • Cambia `»Hoja1″` y el rango `(«A2:A10»)` al nombre y rango adecuado de tu hoja de Excel.
    • Modifica `.To`, `.Subject`, y `.Body` para personalizar el correo electrónico.
    • Cambia la condición `If rng.Cells(i, 1).Value > 100 Then` para que se ajuste a tus criterios específicos.
  • Ejecutar el Código:
    • Guarda tu trabajo en el editor de VBA.
    • Cierra el editor de VBA y regresa a Excel.
    • Para ejecutar el macro, presiona `Alt` + `F8`, selecciona `EnviarCorreos` y haz clic en `Ejecutar`.

Nota: Este ejemplo utiliza Microsoft Outlook como el cliente de correo y puede pedirte permiso para enviar correos en tu nombre. Además, asegúrate de que tu configuración de seguridad de macros en Excel esté configurada para permitir la ejecución de macros.

Conoce nuestros servicios

Conoce nuestra tienda

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Deja un comentario