UniversoExcelForo

Respuesta a consultas.
Fecha de creación: 09.Abril.2012

Fundadores: Wibly,Tyno,Servando,Sakkar,Rosendo2,RMaximo,Railar,Mcoronel,Ioyama,Igtelo,Hugotron,Drochar,Dedos,Alberto,Adolfo

No se pueden hacer consultas de Excel o VBA por mensaje privado.
Utiliza el botón buscar del foro y te ahorras tiempo para obtener "ayuda".

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

IkarusTovar


Hola que tal buen dia, soy nuevo en este foro y relativamente nuevo en cuestiones de programar con macros, lo que pasa que tengo una macro que me avisa al cumplir una condicion en relacion a la fecha de "hoy", lo que hace es que me avisa cuantos dias han pasado desde "hoy" a la fecha que tengo en mi celda (fecha anterior "vencida"), pero ahora quiero modificar que la condicion sea que evalue las celdas de la columna "H" y si la fecha de "hoy" esta a cinco dias de la fecha en mi columna, sea las lineas que me envie por email.
ejemplo:
Hoy=28-Sep-16
Fecha de mi columna=03-Oct-16 (esta fecha es la que quiero que me envie con los demas datos que siguen de la macro)
gracias, espero alguien me pueda echar la mano se los agradecere  Laughing


Sub reportaCalibraciones()
' procedimiento para reportar equipos/codigos que excedan dias-fecha enviando un correo-E ' _

Dim fila As Long, venc As Byte, msj As String
For fila = 4 To Range("h" & Rows.Count).End(xlUp).Row
If Val(Range("h" & fila)) = 0 Then GoTo siguiente
venc = Evaluate("index({0,1,20,30,50},match(today()-h" & fila & ",{-700,1,20,30,50}))")
If venc > 0 Then
msj = msj & vbCr & Range("a" & fila) & "> " & Range("b" & fila) & "> " & Range("h" & fila) & "> " & venc
End If
siguiente:
Next
If msj = "" Then MsgBox "Sin calibraciones por reportar !": Exit Sub
With CreateObject("outlook.application").CreateItem(0)
.To = "xxxx_xxxxx@hotmail.com"
.Subject = "Relacion de calibraciones pendientes"
.Body = "CODIGO > DESCRIPCION > VENCIO EN > DIAS VENCIDOS>" & msj
.display
.Send
End With
End Sub



Última edición por IkarusTovar el 28/09/16, 05:00 pm, editado 1 vez (Razón : modificar direccion email)

Igtelo


Hola Ikarus.

Prueba con esto: match(today()-5-h  Suma o resta los días que gustes.

Te sugiero que en lugar de enviar líneas en el cuerpo del correo mejor adjunta un archivo de Excel, la instrucción es:
.Attachments.add (archivo) previamente creas la variable archivo, la pones antes de .Display

Puedes apoyarte en éste enlace:
http://www.universoexcelforo.com/t1499-enviar-correos-con-archivos-adjuntos-desde-excel-aporte



Saludos
Ignacio Téllez

Igtelo


Lo cierro, norma 5.

Ignacio Téllez

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.