Condividi:        

Excel - Invio automatico email basato su valore di una Cella

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Excel - Invio automatico email basato su valore di una Cella

Postdi ExSt » 16/08/12 09:30

Salve a tutti.
ho visto varie richieste di questo tipo, ma non avendo esperienza VBA, nelle formule che ho trovato ci sono molti dettagli che mi confondono.

Avrei bisogno di una semplice macro con cui se il volore della cella A1 é uguale a "YES" invia automaticamente un'email ad indirizzo prova@abc.it. Il corpo dell'email sarebbe il testo riportato nella cella B2.

Qualcuno di voi ha una simile Macro giá disponibile.

Utilizzo Excel 2003 e Microsoft Outlook 2003

Grazie mille
ExSt
Newbie
 
Post: 4
Iscritto il: 16/08/12 09:06

Sponsor
 

Re: Excel - Invio automatico email basato su valore di una C

Postdi Flash30005 » 16/08/12 12:38

Ciao ExSt e benvenuto nel Forum

Secondo me ti sei privato di dire qualcosa o forse pensi di adattare da solo
comunque questa è una macro che soddisfa la tua richiesta
Codice: Seleziona tutto
Sub invia_Email_microsoft_outlook_usando_VBA()
Dim myOutlook As Object
Dim myMailItem As Object
variabileEmailDelDestinatario = "prova@abc.it"
Dim TestoEmail As String
TestoEmail = [B2]
If [A1] <> "YES" Then Exit Sub
Set otlApp = CreateObject("Outlook.Application")
Set otlNewMail = otlApp.CreateItem(olMailItem)
'fName = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name
With otlNewMail
.to = variabileEmailDelDestinatario
.Subject = "OGGETTO DEL MESSAGGIO"
.body = TestoEmail
.Display
.send
End With
End Sub


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel - Invio automatico email basato su valore di una C

Postdi ExSt » 16/08/12 14:59

grazie per la risposta, Flash!

..purtroppo peró non mi funziona, o forse non l'ho saputa inserire.
Sono andato su VBA Editor, selezionato Sheet1, View Code ed inserito il testo che mi hai dato.
Quando scrivo YES nella cella A1 non succede niente.
Se chiedo di fare il Run della macro si apre nuovamente il VBA Editor evidenziando variabileEmailDelDestinatario ed un messaggio che dice variabile non definita.

Ho cercato di non dare tropppe info con li'intenzione di essere piú chiaro e non "appesantire il testo VBA".
Nella cella A1 inseriró poi una formula IF connessa ad un'altra cella che a sua volta sará connessa in DDE con un fornitore di dati.
ExSt
Newbie
 
Post: 4
Iscritto il: 16/08/12 09:06

Re: Excel - Invio automatico email basato su valore di una C

Postdi Flash30005 » 16/08/12 17:22

Infatti la macro non va nel foglio ma in un modulo
quindi inserisci questa macro dopo aver creato un modulo (dal Menu Inserisci -> modulo)
incolli l'intero codice (ho cambiato nome e modificata)

Codice: Seleziona tutto
Sub InvioEmailMsO()
Dim myOutlook As Object
Dim myMailItem As Object
Dim variabileEmailDelDestinatario As String
variabileEmailDelDestinatario = "prova@abc.it"
Dim TestoEmail As String
TestoEmail = [B2]
'If UCase([A1]) <> "YES" Then Exit Sub
Set otlApp = CreateObject("Outlook.Application")
Set otlNewMail = otlApp.CreateItem(olMailItem)
With otlNewMail
.to = variabileEmailDelDestinatario
.Subject = "OGGETTO DEL MESSAGGIO"
.body = TestoEmail
.Display
.send
End With
End Sub

Nel foglio, invece, devi inserire questo codice
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
If UCase(Target) <> "YES" Then Exit Sub
InvioEmailMsO
End Sub

Quando cambierai il valore/stringa della cella A1 la macro si attiverà ma non funziona se il cambiamento è dovuto da un aggiornamento del DDE.
Per questo tipo di aggiornamento e relativa esecuzione macro troverai, in questa sezione, argomenti già trattati e risolti.
Appena posso allegherò link di alcune discussioni

Ciao

EDIT - Allego link
http://www.pc-facile.com/forum/viewtopic.php?f=26&t=91793&hilit=aggiornamento+dde
http://www.pc-facile.com/forum/viewtopic.php?f=26&t=84343&p=480050&hilit=aggiornamento+dde#p480050
http://www.pc-facile.com/forum/viewtopic.php?f=26&t=46965&start=20#p281675
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel - Invio automatico email basato su valore di una C

Postdi castle » 05/01/15 11:48

Buongiorno a tutti,
Sono nuovo del forum e non capisco molto di computer.
A me serve una funzione come quella sopra descritta ma non so prorpio dove devo andarla ad inserire.
Utilizzo Windows 7 con pacchetto office 2007.

Avrei bisogno, che senza che io apra il foglio excel, mi vanga inviata una mail dallo stesso nel caso in cui in una delle celle appaia la parola "scaduta"!.
Le celle in cui può apparire la parola si trovano tutti in una colonna, nella F, nell'intervallo di celle da F6 a F76.
L'oggetto e il corpo della mail può essere sempre lo stesso.

Vi prego di inserirmi tutti i passaggi da eseguire!

Vi ringrazio dell'aiuto
Buona Giornata.
Castle
castle
Newbie
 
Post: 4
Iscritto il: 05/01/15 11:38

Re: Excel - Invio automatico email basato su valore di una C

Postdi ricky53 » 05/01/15 16:58

Ciao,
ti sei accodato ad una discussione ... vecchia e di tanto.

E' preferibile che tu inserisca un nuovo quesito !
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia


Torna a Applicazioni Office Windows


Topic correlati a "Excel - Invio automatico email basato su valore di una Cella":


Chi c’è in linea

Visitano il forum: Nessuno e 56 ospiti