Saben como es que salga un Aviso en Excel al abrirlo, ¿Qué aparezca que la fecha esta por vencer?

El proyecto es Registro de equipos de Computo y quiero que al abrir el Excel me aparezca un Aviso que diga "La fecha de la columna D9 Ej (08/08/17) esta por vencer ya que en la columna C9 (08/02/189 esta la fecha en la que se registraron los datos y quiero que aparezca cuando se vaya acercando la fecha!

También que me envíe un email al correo que esta ingresado en la columna H9

1

1 Respuesta

15.775 pts. Si estas tratando siempre de ser normal, nunca sabrás...

Dejame ver si entendí. ¿Necesitas qué excel te muestre un mensaje que contenga la fecha en la celda D9?, ¿Y de que hoja necesitas que saque la fecha?.

William la celda D9 es donde se encuentra la fecha de vencimiento!

Y en la Columna C9 esta la fecha que se registraron los equipos y en el D9 es cuando vencerá y quiero que me genere alerta en pantalla y por correo

Puedes colocar el siguiente código en el evento open del objecto Thisworkbook

Private Sub Workbook_Open()
    Dim dDate As Date
    Dim sCorreo As String
        dDate = ThisWorkbook.Sheets("nombre de tu hoja").Range("D9")
        sCorreo = ThisWorkbook.Sheets("nombre de tu hoja").Range("H9")
        MsgBox "La Fecha " & dDate & " esta por vencer", vbInformation
        sendMail dDate, sCorreo
End Sub

y en un modulo aparte pega el siguiente codigo:

Public Sub sendMail(ByVal dDate As Date, ByVal sCorreo As String)
    Set objMessage = CreateObject("CDO.Message")
    objMessage.Subject = "Fecha cercana a Vencer o el texto que desees"
    objMessage.From = "[email protected]"
    objMessage.To = sCorreo
    objMessage.TextBody = "La Fecha " & dDate & " esta por vencer"
    objMessage.Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    objMessage.Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.myserver.com" ' usa el smtp correcto, de lo contrario no funcionara.
    objMessage.Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
    objMessage.Configuration.Fields.Update
    objMessage.Send
End Sub

Oye pero cada que ingreso un campo  se va corriendo hacia abajo las fechas, entonces las que van hacia abajo cuando la fecha de Vencimiento que esta en columna "D" no se mostraran, solo la que este en la fila 9 verdad?

Osea la fecha cuando se hacen los mantenimientos se ingresa en la columna "C" hacia abajo osea no tiene tope, y el próximo mantenimiento es la fecha que esta en la columna "D" igual hacia abajo, y cada que ingreso en la fila 8 se baja y se pone en la 9 y cuando ingreso otro en la fila 8 ese pasa a la 9 y el que estaba en la fila 9 baja a la 10 y así sucesivamente, si me entiendes amigo?

Entonces quiero que salga el mensaje de diferentes fechas cuando se vaya aproximando los días, nose 15 días antes y otra vez salga el mensaje 5 días antes. e igual que llegue al correo cuando se aproximen los días, por favor!!!

Entiendo. Si gustas, puedes enviarme tu archivo para poder darte una mejor solución.

[email protected]

Encontré esta pregunta relacionada, puedes acoplar este ejemplo a tu proyecto.

envio mail de excel cuando se cumpla una fecha

Te envíe el archivo con las modificaciones necesarias. Recuerda valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas