Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Invio automatico email da excel

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

Invio automatico email da excel

Postdi 4urelio » 19/10/15 08:51

Buongiorno a tutti, premettendo che non sono pratico di macro, sto cercando di crearne una per l'invio automatico di mail da excel all'avverarsi di una certa condizione.

Queste sono le colonne del mio file che mi interessano:

B Q V AB
Cognome Data email Stato rilascio

Praticamente io ho inserito nella colonna AB un IF che mi da tre alert diversi a seconda che siano passati 40, 60 o 90 gg dalla Data in Q:
=SE(OGGI()-Q2>40;SE(OGGI()-Q2>60;SE(OGGI()-Q2>90;"Terzo Sollecito >90gg";"Secondo Sollecito >60gg");"Primo Sollecito >40gg");"Nei Tempi")

A questo punto io vorrei una macro che mi invii una mail in automatico all'indirizzo presente in V (ed a uno fisso per conoscenza) ogni qualvolta scatti un alert dei tre livelli.
Questo deve avvenire per ogni riga, perchè sono riuscito a crearne una ma la invia solo alla prima riga.

Spero possiate aiutarmi!!!
4urelio
Newbie
 
Post: 7
Iscritto il: 19/10/15 08:40

Sponsor
 

Re: Invio automatico email da excel

Postdi alfrimpa » 19/10/15 12:13

Ciao Aurelio

Purtroppo non è possibile fare in modo che una macro che venga eseguita (nel tuo caso l'invio di una mail) al variare del risultato di una formula; è invece possibile lanciare in automatico una macro al verificarsi di una variazione "fisica" del foglio di lavoro.

Detto questo occorre cercare una possibile strada alternativa che potrebbe essere quella di lanciare manualmente la macro che faccia il controllo della colonna AB che, a seconda del contenuto di ciascuna cella, invii la mail con testo diverso a seconda che detto contenuto sia "Primo sollecito", "Secondo sollecito" o "Terzo sollecito".

Almeno così ho capito.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 841
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Invio automatico email da excel

Postdi bismark » 19/10/15 13:41

Buongiorno 4urelio e buongiorno alfrimpa

una cortesia per poterti aiutare meglio

sarebbe possibile avere un file d'esempio su cui poter lavorare senza dati sensibili )

Grazie
bismark
Utente Junior
 
Post: 54
Iscritto il: 08/07/15 15:03

Re: Invio automatico email da excel

Postdi 4urelio » 20/10/15 08:23

Buongiorno bismark, purtroppo i filtri aziendali non mi permettono di accedere ai vari siti per la condivisione dei file, quindi se vuoi potrei inviartelo via mail.
4urelio
Newbie
 
Post: 7
Iscritto il: 19/10/15 08:40

Re: Invio automatico email da excel

Postdi bismark » 20/10/15 08:47

prova con un MP poi lo posto sul sito per tutti

grazie
bismark
Utente Junior
 
Post: 54
Iscritto il: 08/07/15 15:03

Re: Invio automatico email da excel

Postdi ricky53 » 20/10/15 10:46

Ciao,
potresti utilizzare l'evento "Change" del foglio che quando scrivi qualcosa in una cella per esempio in colonna "Q" vada a controllare il contenuto della cella di colonna "AB" e se trova le parole che tu hai definito lancia una macro che ...

Per esempio
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
' QUi va scritto il codice che ho descritto prima
End Sub


Come già scritto da Bismark un file aiuterebbe a capire e, quindi, a proporti una soluzione.
Puoi inviare una e-mail anche a me e poi provvederò io a caricare il file nel forum.

Il mio indirizzo è ricky53u chiocciola libero punto it

L'indirizzo l'ho scritto in questo modo per evitare SPAM
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. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Invio automatico email da excel

Postdi alfrimpa » 20/10/15 11:23

Ciao Ricky e bentornato (era un po' che non ti si vedeva) :)

A mio avviso il problema è che 4urelio vuole (se ho capito bene) che la mail parta in automatico al variare del risultato di una formula e, come ben sai, tale evento non viene intercettato dal Worksheet_Change per cui occorre trovare strade alternative.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 841
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Invio automatico email da excel

Postdi ricky53 » 20/10/15 15:01

Ciao,
grazie per il bentornato (la mia assenza è causata da lavori che sto facendo a casa e la sera sono stanchissimo).

Infatti proprio per questo, nel mio intervento, avevo scritto che al variare di una cella in colonna "Q" si sarebbe innescato l'evento "Change" del foglio.
Altra via NON c'è se non quella del LANCIO MANUALE di una macro.
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. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Invio automatico email da excel

Postdi ricky53 » 20/10/15 15:17

Ciao 4Aurelio,
allego il FILE che mi hai inviato via e-mail
Adesso si potrà tentare di aiutarti avendo qualcosa di concreto.
Non ho ancora aperto il tuo file.
Adesso non posso ... a questa sera.
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. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Invio automatico email da excel

Postdi alfrimpa » 20/10/15 15:35

@ Aurelio

Prova a dare uno sguardo alla discussione aperta da il_perozzi (identica alla tua) dove ho risposto insrendo una macro che, con i dovuti adattamenti, penso possa andare bene anche a te.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 841
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Invio automatico email da excel

Postdi bismark » 20/10/15 15:42

Buon pomeriggio a tutti

buongiorno Alfredo, confermo che può andar bene, c'è solo una cosa nel file postato da 4aurelio che fa riferimento alla colonna V ( oppure ho viso male, perché sono miope ) ma non ci sono riferimenti a nessun indirizzo mail

l'unico indirizzo è in E2

a dopo con i chiarimenti
bismark
Utente Junior
 
Post: 54
Iscritto il: 08/07/15 15:03

Re: Invio automatico email da excel

Postdi alfrimpa » 20/10/15 20:47

Ciao Bismark

Non ho visto il file di 4urelio. Il mio voleva essere solo un suggerimento da adattare poi alla situazione specifica.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 841
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Invio automatico email da excel

Postdi 4urelio » 21/10/15 08:17

Buongiorno a tutti, bismark non guardare l amacro che avevo provato a creare, ho provato ad adattarla da un altro suggerimento e inoltre fa riferimento a colonne che ho eliminato per snellire il file da farvi vedere.
Sto provando ad adattare quella fatta per il_perozzi. La domanda che voglio aggiungere è relativa al fatto che visto che la mail deve partire una volta sola per ogni sollecito dovrei far creare una cella di controllo con scritto "inviata mail" da inserire poi come if per evitare doppioni.
4urelio
Newbie
 
Post: 7
Iscritto il: 19/10/15 08:40

Re: Invio automatico email da excel

Postdi bismark » 21/10/15 18:47

buona sera

avevo un attimo di tempo e ho provato
Codice: Seleziona tutto
Option Explicit
Sub InviaEmail()
  Dim OutlookApp As Object
  Dim MItem As Object
  Dim cell As Range
  Dim Subj As String
  Dim EmailAddr As String
  Dim Recipient As String
  Dim Bonus As String
  Dim Msg As String
  Dim miorange As Range
  Dim flag As Range
   
   
  Dim ur As Long
  ur = Sheets("evasi").Range("a" & Rows.Count).End(xlUp).Row
  Set miorange = Range("a1:a" & ur)
  Set flag = Range("f1:f" & ur)
  Set OutlookApp = CreateObject("Outlook.Application")
  For Each cell In Range("f2:f" & ur)
    If cell.Value = "Sollecitare" And _
     cell.Value <> "Avvisato" Then
      Subj = "SOLLECITO"
      EmailAddr = Cells(ur, 5).Value
            Msg = Range("a" & cell.Row).Value & " " & Range("b" & cell.Row).Value & " " & Range("c" & cell.Row).Value & " " & Range("d" & cell.Row).Value & " " & Range("e" & cell.Row).Value & " " & Range("f" & cell.Row).Value & " " & Range("g" & cell.Row).Value & " " & Range("h" & cell.Row).Value & " " & Range("i" & cell.Row).Value & " " & Range("j" & cell.Row).Value & " " & Range("k" & cell.Row).Value & " " & Range("l" & cell.Row).Value & " " & Range("m" & cell.Row).Value & " " & Range("n" & cell.Row).Value
      Set MItem = OutlookApp.CreateItem(0)
      With MItem
        .To = EmailAddr
        .Subject = Subj
        .Body = Msg
        .Display
        '.Send
      End With
    End If
  Next
  Set OutlookApp = Nothing
End Sub



sicuramente Alfre e ricky sapranno sistemare meglio il mio "pasticcio" non posso provarlo perché su questo computer da dove Vi scrivo non ho outlook

in questo esempio sarà necessario andare poi ad inserire la descrizione "avvisato" dopo aver spedito le mail di sollecito in colonna F

così se in colonna F trova la parola avvisato non viene spedito nulla
Si potrebbe cancellare la formula e sostituire con "avvisato"
Codice: Seleziona tutto
  For Each cell In Range("f2:f" & ur)
    If cell.Value = "Sollecitare" And _
     cell.Value <> "Avvisato" Then


in alternativa si può aggiungere alla fine del ciclo di creazione

cells (i, 13). value = "avvisato" e naturalmente poi bisogna modificare il pezzo sopra

p.s : secondo il mio modesto parere ci potrebbe essere ancora una condizione che non mi sembra sia stata prevista:

e se la cella di colonna F è Blanck ??

lascio a voi le prove e ai guru di VBA la correzione e la proposta di splendide soluzioni che andrò a studiare nei prossimi giorni

buona serata a tutti
bismark
Utente Junior
 
Post: 54
Iscritto il: 08/07/15 15:03

Re: Invio automatico email da excel

Postdi bismark » 22/10/15 07:22

rettifico questa considerazione

non serve
p.s : secondo il mio modesto parere ci potrebbe essere ancora una condizione che non mi sembra sia stata prevista:

e se la cella di colonna F è Blanck ??
bismark
Utente Junior
 
Post: 54
Iscritto il: 08/07/15 15:03

Re: Invio automatico email da excel

Postdi bismark » 22/10/15 07:29

trovato altro errore

EmailAddr = Cells(ur, 5).Value

non può essere ur perchè indica l'ultima riga dell elelnco invece è necessario riportare l'indirizzo di ogni riga che soddisfa il controllo

scusate sto cercando di imparare a scrivere in VBA ma il mio e maccheronico......
bismark
Utente Junior
 
Post: 54
Iscritto il: 08/07/15 15:03

Re: Invio automatico email da excel

Postdi bismark » 22/10/15 07:40

Codice: Seleziona tutto
 Option Explicit
    Sub InviaEmail()
      Dim OutlookApp As Object
      Dim MItem As Object
      Dim cell As Range
      Dim Subj As String
      Dim EmailAddr As String
      Dim Recipient As String
      Dim Bonus As String
      Dim Msg As String
      Dim miorange As Range
      Dim flag As Range
       
       
      Dim ur As Long
      ur = Sheets("evasi").Range("a" & Rows.Count).End(xlUp).Row
      Set miorange = Range("a1:a" & ur)
      Set flag = Range("f1:f" & ur)
      Set OutlookApp = CreateObject("Outlook.Application")
      For Each cell In Range("f2:f" & ur)
        If cell.Value = "Sollecitare" And _
         Range("M" & cell.Row).Value <> "avvisato" Then
         Range("M" & cell.Row).Value = "avvisato"
          Subj = "SOLLECITO"
          EmailAddr = Range("e" & cell.Row).Value
                Msg = Range("a" & cell.Row).Value & " " & Range("b" & cell.Row).Value & " " & Range("c" & cell.Row).Value & " " & Range("d" & cell.Row).Value & " " & Range("e" & cell.Row).Value & " " & Range("f" & cell.Row).Value & " " & Range("g" & cell.Row).Value & " " & Range("h" & cell.Row).Value & " " & Range("i" & cell.Row).Value & " " & Range("j" & cell.Row).Value & " " & Range("k" & cell.Row).Value & " " & Range("l" & cell.Row).Value & " " & Range("m" & cell.Row).Value & " " & Range("n" & cell.Row).Value
          Set MItem = OutlookApp.CreateItem(0)
          With MItem
            .To = EmailAddr
            .Subject = Subj
            .Body = Msg
            .Display
            '.Send
          End With
        End If
'
      Next
      Set OutlookApp = Nothing
    End Sub


Sicuramente i guru faranno meno giri contorti, ma ho voluto provare...

buona giornata
bismark
Utente Junior
 
Post: 54
Iscritto il: 08/07/15 15:03

Re: Invio automatico email da excel

Postdi 4urelio » 22/10/15 09:28

Perfetto bismark, grazie a questa macro che hai creato riesco ad inviare l amail in automatico in caso di casella sollecitare in F (con autocontrollo in M). A questo dovrei però legare altre tre condizioni, quando in k ho "primo sollecito", secondo sollecito e terzo sollecito (e relativi autocontrolli). Praticamente per ogni riga possono essere create addirittura 4 email se il ritardo supera i 90gg.
Ho modificato il testo del msg perchè non mi serve riferimento a celle se non quelle al nome (colonne A e B) ma un testo predefinito che vado ad inserire io.
Grazie mille vedo che la soluzione si trova!!
4urelio
Newbie
 
Post: 7
Iscritto il: 19/10/15 08:40

Re: Invio automatico email da excel

Postdi bismark » 22/10/15 09:35

4aurelio

Mi fa piacere che qualcosa possa servire ma non attribuirmi meriti che non ho la maggior parte della procedura era stata scritta da alfredo ( che saluto se ci legge)

vedo di capire meglio l'esigenza sulle condizioni che richiedi in più ma temo che ci vorrà un super guru non una ciofeca come me per risolverti il tutto

a presto
bismark
Utente Junior
 
Post: 54
Iscritto il: 08/07/15 15:03

Re: Invio automatico email da excel

Postdi bismark » 22/10/15 09:40

4aurelio

gentilmente puoi spiegare meglio il discorso delle 4 mail?

giusto il discorso del testo mail, quello che desideravo capire e verificare, se funzionava era prima di tutto, se i controlli erano corretti, poi la sistemazione delle varie info naturalmente è soggettiva e legata alla singola esigenza dell'utente

a dopo
bismark
Utente Junior
 
Post: 54
Iscritto il: 08/07/15 15:03

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Invio automatico email da excel":


Chi c’è in linea

Visitano il forum: salatony e 6 ospiti