Macro no funciona para enviar correo desde excel
Tengo problema con la siguiente macro:
Sub Correo()
For i = 2 To Range("P" & Rows.Count).End(xlUp).Row
If UCase(Cells(i, "O")) = "ENVIAR" Then
Set dam = CreateObject("outlook.application").createitem(0)
dam.To = Cells(i, "P") 'Destinatario
dam.Subject = Cells(i, "A") '"Asunto"
dam.Body = "Hola!! Dentro de 2 días se cambia las Dosis de Fertilización del Productor Mencionado en el Asunto, ¡¡AVÍSALE!!"
dam.Send 'Enviar correo
'dam.Display 'Muestra correo
End If
Next
MsgBox "Correos enviados", vbInformation, "SALUDOS"
End Sub
El objetivo de esta macro es que cuando abra el archivo de Excel 2013 se ejecute esta macro automáticamente y me envíe por correo los recordatorios de todas las celdas que contengan la palabra "ENVIAR". El problema radica en que no funciona así como está, pues genera "error en el método subject de objeto Mailitem" y en Outlook no se cargan el destinatario ni el asunto y no se envía. Verifiqué la macro en modo depurar y cuando colocas el cursor sobre las referencias destinatario y asunto aparecen los datos correctos flotantes pero no los carga en Outlook, así que borré "Cells (i, "X") y escribí directamente la dirección del destinatario "[email protected]" y el asunto y solo así funciona bien, se envía y no genera error. Está activado Microsoft Outlook 15.0 Object Library, ¿hay alguna solución?