KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Venta de marzo: 20 % de descuento

¿Cómo enviar un correo electrónico cuando se cumple la fecha de vencimiento en Excel?

AutoraSiluvia Fecha de modificación

Como se muestra en la siguiente captura de pantalla, si la fecha de vencimiento en la columna C es menor o igual a 7 días (por ejemplo, siendo la fecha actual el 13/9/2017), se envía un correo electrónico al destinatario indicado en la columna A, incluyendo en el cuerpo del mensaje el contenido especificado en la columna B. ¿Cómo podría lograrlo? Este artículo proporciona un código VBA para ayudarle a realizar esta tarea.

datos de ejemplo

Enviar correo electrónico si se ha cumplido Fecha de vencimiento con código VBA


Enviar correo electrónico si se ha cumplido Fecha de vencimiento con código VBA

Siga los pasos siguientes para enviar un recordatorio por correo electrónico cuando se haya alcanzado la fecha de vencimiento en Excel.

1. Pulse simultáneamente las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.

2. En la ventana de Microsoft Visual Basic para Aplicaciones, haga clic en Insertar > Módulo. A continuación, copie y pegue el siguiente código VBA en la ventana del módulo.

Código VBA: enviar correo electrónico si se cierra Fecha de vencimiento en Excel

Public Sub CheckAndSendMail()
'Updated by Extendoffice 2018/11/22
    Dim xRgDate As Range
    Dim xRgSend As Range
    Dim xRgText As Range
    Dim xRgDone As Range
    Dim xOutApp As Object
    Dim xMailItem As Object
    Dim xLastRow As Long
    Dim vbCrLf As String
    Dim xMailBody As String
    Dim xRgDateVal As String
    Dim xRgSendVal As String
    Dim xMailSubject As String
    Dim i As Long
    On Error Resume Next
    Set xRgDate = Application.InputBox("Please select the due date column:", "KuTools For Excel", , , , , , 8)
    If xRgDate Is Nothing Then Exit Sub
    Set xRgSend = Application.InputBox("Please select the recipients?email column:", "KuTools For Excel", , , , , , 8)
    If xRgSend Is Nothing Then Exit Sub
    Set xRgText = Application.InputBox("Select the column with reminded content in your email:", "KuTools For Excel", , , , , , 8)
    If xRgText Is Nothing Then Exit Sub
    xLastRow = xRgDate.Rows.count
    Set xRgDate = xRgDate(1)
    Set xRgSend = xRgSend(1)
    Set xRgText = xRgText(1)
    Set xOutApp = CreateObject("Outlook.Application")
    For i = 1 To xLastRow
        xRgDateVal = ""
        xRgDateVal = xRgDate.Offset(i - 1).Value
        If xRgDateVal <> "" Then
        If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then
            xRgSendVal = xRgSend.Offset(i - 1).Value
            xMailSubject = xRgText.Offset(i - 1).Value & " on " & xRgDateVal
            vbCrLf = "<br><br>"
            xMailBody = "<HTML><BODY>"
            xMailBody = xMailBody & "Dear " & xRgSendVal & vbCrLf
            xMailBody = xMailBody & "Text : " & xRgText.Offset(i - 1).Value & vbCrLf
            xMailBody = xMailBody & "</BODY></HTML>"
            Set xMailItem = xOutApp.CreateItem(0)
            With xMailItem
                .Subject = xMailSubject
                .To = xRgSendVal
                .HTMLBody = xMailBody
                .Display
                '.Send
            End With
            Set xMailItem = Nothing
        End If
    End If
    Next
    Set xOutApp = Nothing
End Sub

Notas: La línea If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then en el código VBA indica que la fecha de vencimiento debe ser mayor que hoy y menor o igual que dentro de 7 días. Puede ajustarla según sus necesidades.

3. Pulse la tecla F5 para ejecutar el código. En el primer cuadro de diálogo emergente Kutools para Excel, seleccione el rango de columnas de fecha de vencimiento y, a continuación, haga clic en el botón Aceptar. Vea la captura de pantalla:

código VBA para seleccionar la columna de fecha de vencimiento

4. A continuación, aparecerá el segundo cuadro de diálogo Kutools para Excel. Seleccione el rango de columnas correspondiente que contiene las direcciones de correo electrónico de los destinatarios y haga clic en el botón Aceptar. Vea la captura de pantalla:

código VBA para seleccionar las direcciones de correo electrónico de los destinatarios

5. En el último cuadro de diálogo Kutools para Excel, seleccione el contenido que desea incluir en el cuerpo del correo electrónico y, a continuación, haga clic en el botón Aceptar.

código VBA para seleccionar el contenido que desea mostrar en el cuerpo del correo electrónico

A continuación, se creará automáticamente un correo electrónico con el destinatario, asunto y cuerpo especificados si la fecha de vencimiento en la columna C es menor o igual que 7 días. Haga clic en el botón Enviar para enviar el mensaje.

se crea un correo electrónico con el destinatario, asunto y cuerpo especificados si se cumple la fecha de vencimiento

Notas:

1. Cada correo electrónico creado corresponde a un Fecha de vencimiento. Por ejemplo, si hay tres Fecha de vencimiento que cumplen los criterios, se crearán automáticamente tres mensajes de correo electrónico.

2. Este código no se activará si no hay fechas que cumplan los criterios.

3. El código VBA solo funciona si utiliza Outlook como su cliente de correo electrónico.

una captura de pantalla de kutools for excel ia

Descubra la magia de Excel con KUTOOLS AI

  • Ejecución inteligente: Realice operaciones en celdas, analice datos y cree gráficos con comandos sencillos.
  • fórmulas personalizadas: Cree fórmulas a medida para optimizar sus flujos de trabajo.
  • Programación en VBA: Escriba e implemente código VBA con facilidad.
  • Interpretación de fórmulas: Entienda las fórmulas complejas con facilidad.
  • Traducción de texto: Rompa las barreras del idioma directamente en sus hojas de cálculo.
Potencie sus capacidades en Excel con herramientas impulsadas por inteligencia artificial.Descárguelo ahora¡y experimente una eficiencia como nunca antes!

Artículos relacionados:

Las mejores herramientas de productividad para Office

🤖KUTOOLS AI Asistente: Revolucione Análisis de datos basándose en:Ejecución Inteligente   |  Generar código|  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos|  Invocar Funciones mejoradas
Funciones populares:Buscar, resaltar o Marcar duplicados   |  Eliminar filas en blanco   |  Combinar Columnas o celdas sin perder datos   |   Redondeo sin usar fórmulas...
Super BUSCARV:Búsqueda vertical (VLookup) con múltiples criterios  |  Búsqueda vertical (VLookup) con múltiples valores  |   Búsqueda vertical (VLookup) entre varias hojas   |   Coincidencia difusa....
Lista desplegable avanzada:Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple....
Gestor de columnas:Añadir un número específico de columnas|Mover columnas|Alternar el estado de visibilidad de columnas ocultas|Comparar rangos y columnas...
Funciones destacadas:Cuadrícula de enfoque   |  Vista de diseño   |Barra de fórmulas mejorada   | Gestor de libros y hojas   |  Biblioteca de recursos(Texto automático)|  Selector de Fecha   |  Combinar Hojas de Cálculo  |  Cifrar/Descifrar celdas   | Enviar correos electrónicos desde una lista   |  Super Filtro   |   Filtro especial(Filtrar celdas con fuente en negrita/cursiva/tachado...) ...
Principales conjuntos de herramientas 15:12 Herramientasde texto(Agregar texto,Eliminar caracteres específicos, ...)|   50+Tiposde gráfico(Diagrama de Gantt, ...)|   40+ Fórmulas prácticas(Calcular la edad basada en la fecha de nacimiento, ...)|   19 Herramientasde inserción(Insertar Código QR,Insertar imagen desde ruta, ...)|   12 Herramientasde conversión(Convertir a palabras,Conversión de moneda, ...)|   7 Herramientasde combinación y división(Combinar filas avanzado,Dividir celdas, ...)|...y muchas más
Use Kutools en su idioma preferido: compatible con inglés, español, alemán, francés, chino y 40+ más idiomas.¡

Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...


Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
  • ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!

Todos los complementos de Kutools en un solo instalador.

Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.

ExcelWordOutlookTabsPowerPoint
  • Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
  • Un instalador, una licencia— configuración en minutos (compatible con MSI)
  • Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
  • Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
  • La mejor relación calidad-precio— ahorre frente a la compra individual de complementos