EnviarEmailVBA
Publicado por JAIME (6 intervenciones) el 21/12/2018 18:07:40
Buenos días, espero me puedan ayudar mi problema es el siguiente:
Es para enviar emails desde excel con un rango variable de celdas, es decir se hace una actualización cada día y el numero de correos son diferentes cada que un NCR es cerrado. Me produce un error 1004 y al parecer es en el rango, pero cuando lo ejecuto paso por paso el rango está bien definido el código es el siguiente, de ante mano muchas gracias!
Es para enviar emails desde excel con un rango variable de celdas, es decir se hace una actualización cada día y el numero de correos son diferentes cada que un NCR es cerrado. Me produce un error 1004 y al parecer es en el rango, pero cuando lo ejecuto paso por paso el rango está bien definido el código es el siguiente, de ante mano muchas gracias!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
Sub EnviarEmail()
Dim OutlookApp As Outlook.Application
Dim MItem As Outlook.MailItem
Dim cell As Range
Dim Asunto As String
Dim Correo As String
Dim Destinatario As String
Dim DiasVencidos As String
Dim Ncrvencido As String
Dim Msg As String
Dim desc As String
Dim OT As String
Dim NoParte As String
Dim ultFilaDatos As Long
Dim rangoBusqueda As String
Set OutlookApp = New Outlook.Application
ultLineaDatos = Sheets("notificacion").Range("B" & Rows.Count).End(xlUp).Row
rangoBusqueda = "B11:B" & ultLineaDatos
For Each cell In Range("rangoBusqueda")
Asunto = "NCR Vencido"
Destinatario = cell.Offset(0, -1).Value
Correo = cell.Value
Ncrvencido = Format(cell.Offset(0, 1).Value, "#,##0")
OT = Format(cell.Offset(0, 2).Value, "#,##0")
NoParte = Format(cell.Offset(0, 3).Value, "#,##0")
desc = Format(cell.Offset(0, 4).Value, "#,##0")
FechaVencimiento = Format(cell.Offset(0, 5).Value, "dd/mmm/yyyy")
DiasVencidos = Format(cell.Offset(0, 6).Value, "#,##0")
Msg = "Apreciable " & Destinatario & vbNewLine & vbNewLine
Msg = Msg & "Su NCR: "
Msg = Msg & Ncrvencido
Msg = Msg & " de la O.T: "
Msg = Msg & OT
Msg = Msg & " con el número de parte: "
Msg = Msg & NoParte
Msg = Msg & " venció el día "
Msg = Msg & FechaVencimiento & "." & vbNewLine & vbNewLine
Msg = Msg & "Descripción: "
Msg = Msg & desc & vbNewLine
Msg = Msg & "Los días de retardo son: "
Msg = Msg & DiasVencidos & vbNewLine & vbNewLine
Msg = Msg & "Atentamente:" & vbNewLine
Msg = Msg & "Ingeniería de Manufactura."
Set MItem = OutlookApp.CreateItem(olMailItem)
With MItem
.To = Correo
.Subject = Asunto
.Body = Msg
.Send
End With
'
Next
'
End Sub
Valora esta pregunta


0