H o l a:
El manejo de fechas es algo delicado, empezando porque algunos meses tienen 31 días, por no mencionar febrero.
Entonces si quieres de la fecha de hoy 24 de marzo a 24 de abril, en realidad son 31 días.
Si quieres 30 días, entonces utiliza esta macro:
Sub Enviar_Correos()
'---
' Por.Dante Amor
'---
For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
If Date + 30 = Cells(i, "B").Value Then
Set dam = CreateObject("outlook.application").createitem(0)
'
dam.To = "[email protected]" 'Destinatarios
dam.Cc = "[email protected]" 'Con copia
dam.Subject = "VEHÍCULOS VENCIDOS" 'Asunto
dam.Body = "EL VEHÍCULO " & Cells(i, "A").Value & _
" vencerá en los próximos 30 días."
dam.Send 'El correo se envía
'dam.Display 'El correo se muestra
End If
Next
MsgBox "Correos enviados", vbInformation, "SALUDOS"
End Sub
Pero si realmente quieres, si estamos a día 24, no importa le mes, el siguiente 24 enviará el correo, pero aquí el problema es que si estamos a 31 de mayo, no existe 31 de junio, entonces deberá ser 1 de julio, o si estamos a 30 de enero, tampoco existe 30 de febrero, entonces?
Si realmente quieres 31 días, entonces cambia el 30 en la macro por 31.
Realiza tus pruebas y me comentas.
Sigue las Instrucciones para un botón y ejecutar la macro
- Abre tu libro de Excel
- Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
- En el menú elige Insertar / Módulo
- En el panel del lado derecho copia la macro
- Ahora para crear un botón, puedes hacer lo siguiente:
- Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
- Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
- Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
- Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: Enviar_Correos
- Aceptar.
- Para ejecutarla dale click a la imagen.
Pon la macro en un botón y ejecuta la macro cada que la necesites.
Si quieres ejecutar la macro de forma automática, al abrir el archivo, entonces agrega la siguiente macro en los eventos de Thisworkbook
Private Sub Workbook_Open()
Call Enviar_Correos
End Sub
Instrucciones para poner la macro en los eventos ThisWorkbook
- Abre tu libro de excel
- Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
- Del lado izquierdo dice: VBAProject, abajo dale doble click a ThisWorkbook
- En el panel del lado derecho copia la macro
R ecuerda cambiar la valoración a la respuesta.
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias