Como puedo hacer para que a las 5:30 el archivo mande un correo. Revisando en las columna de código

Buenas tardes tengo una nueva consulta, tengo un archivo que ocupo que a las 5:30 p.m. Me mande un correo, revisando las celdas que tengan la fecha del día actual de la columna D de la hoja 5, y las celdas que cumplan esa condición me envíen la información descrita en la columna A de la misma fila y el correo indique lo siguiente:

Correo seria: [email protected]

asunto: ingreso.

contenido: la información que tengan la columna A, que cumplen con el criterio de la columna D.

Muchas gracias

1 respuesta

Respuesta
1

Mándame el archivo con los datos de ejemplo y las explicaciones necesarias y así podré ayudarte mejor.

[email protected]

Esta es la macro que necesitas.

Sub ejemplo()'por luismondelofila = 4Sheets("SINALI y Comunicado").SelectRange("g4:g" & Range("g65000").End(xlUp).Row).ClearContentsRange("c4").SelectDo While ActiveCell.Value <> ""If ActiveCell.Value = Date ThenCells(fila, 7).Value = ActiveCell.Offset(0, -1).Valuefila = fila + 1End IfActiveCell.Offset(1, 0).SelectLoopRange("g4:g" & Range("g65000").End(xlUp).Row).CopySet parte1 = CreateObject("outlook.application")Set parte2 = parte1.createitem(olmailitem)parte2.to = "[email protected]"parte2.Subject = "Normativa publicada"parte2.displayApplication.SendKeys "^v"End Sub

Notarás que utilizo la columna G de dicha hoja, simplemente déjala así, ya que la macro la borra cada vez que la utilizas.

No olvides finalizar la consulta

Federico te mando de nuevo las macros:

Por un lado la macro llamada ejemplo y por otro la macro llamada timer.

Cuando tengas copiadas las dos, tienes que ejecutar la macro timer y veras que no sucede nada pero simplemente se queda en ejecución esperando que lleguen las 17:30 para ejecutar la macro ejemplo. Evidentetemente el ordenador debe permanecer encendido.

Sub ejemplo()
'por luismondelo
fila = 4
Sheets("SINALI y Comunicado").Select
Range("g4:g" & Range("g65000").End(xlUp).Row).ClearContents
Range("c4").Select
Do While ActiveCell.Value <> ""
If ActiveCell.Value = Date Then
Cells(fila, 7).Value = ActiveCell.Offset(0, -1).Value
fila = fila + 1
End If
ActiveCell.Offset(1, 0).Select
Loop
Range("g4:g" & Range("g65000").End(xlUp).Row).Copy
Set parte1 = CreateObject("outlook.application")
Set parte2 = parte1.createitem(olmailitem)
parte2.to = "[email protected]"
parte2.Subject = "Normativa publicada"
parte2.display
Application.SendKeys "^v"
End Sub
Sub timer()
Application.OnTime TimeValue("17:30:00"), "ejemplo"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas