Per quello che ho capito, questa macro dovrebbe bastare:
- Codice: Seleziona tutto
Sub InvioEmail_Scad()
Dim cScad As Long, OLook As Object, mItem As Object, mText As String
'
cScad = Application.WorksheetFunction.CountIf(Range("D1:D10"), 5)
Set OLook = CreateObject("Outlook.Application")
If cScad > 0 Then
'Compilazione TEST del messaggio:
mText = "Buon giorno, sono la tua macro e ti invio questo promemoria" & vbCrLf '<<<
mText = mText & "Ci sono n° " & cScad & " scadenze tra 5 giorni" & vbCrLf '<<<
mText = mText & "Sai cosa fare..." '<<<
Set mItem = OLook.createitem(0)
mItem.To = Range("F10").Value
'Compilazione del Subject:
mItem.Subject = "Mail automatica per boh" '<<<
mItem.body = mText
mItem.send
' mItem.display 'Test only
Application.Wait (Now + TimeValue("0:00:02"))
Set mItem = Nothing
Set OLook = Nothing
MsgBox ("Inviata mail a " & Range("F10"))
Else
MsgBox ("Nessuna scadenza da segnalare")
End If
End Sub
Il testo nelle righe marcate <<< ovviamente e' solo da esempio, metterai quel che serve.
Va messo in un Modulo standard del vba; per questo, partendo da Excel:
-premi Alt-F11 per aprire l'editor delle macro
-Menu /Inserisci /Modulo
-Copia il codice e incollalo nel frame dx del modulo appena creato
Personalizza le righe marcate <<< come detto.
Poi torna su Excel, attiva il foglio che contiene le informazioni e lancia la macro InvioEmail_Scad:
-premi Alt-F8
-seleziona InvioEmail_Scad dall'elenco di macro disponibili
-premi Esegui
Un messaggio informera' sull'esito del controllo.
Ciao, fai sapere.