| | Post: 28 | Registrato il: 23/01/2017
| Città: BRENDOLA | Età: 54 | Utente Junior | Excel 2010 | | OFFLINE | |
|
24/03/2017 11:44 | |
Ciao a tutti. avrei la necessità di essere avvisato con una mail alla scadenza di un dato evento con una mail.
Ovviamente io ho impostato la data in cui devo essere avvisato.
Nel file ho anche differenziato l'anticipo di invio.
Sarebbe carino che la mail riportasse anche il motivo dell'invio...per es. "Scadenza mutuo" etc.
Se qualcuno può darmi una mano.
Grazie anticipatamente. |
|
| | Post: 2.989 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
24/03/2017 13:23 | |
Ciao Roberto
Dal tuo file elimina tutte le celle unite e che la colonna delle scadenze sia la C e prova questa macro.
vb Sub Inviamail()
Dim OutlookApp As Outlook.Application
Dim MItem As Object
Dim Recipient As String, Subj As String
Dim Msg As String
Dim rng As Range
Dim cel As Range
Dim ur As Long
ur = Cells(Rows.Count, "c").End(xlUp).Row
Set rng = Range("c6:c" & ur)
On Error Resume Next
Recipient = "TuoIndirizzomail"
Subj = "Avviso Scadenza"
Msg = "Avviso scadenza"
For Each cel In rng
If Date - cel.Value = cel.Offset(0, -2).Value Then
Set OutlookApp = New Outlook.Application
Set MItem = OutlookApp.CreateItem(olMailItem)
With MItem
.To = Recipient
.Subject = Subj
.Body = cel.Offset(0, -1).Value
.Display
'.Send
End With
End If
Next cel
Set OutlookApp = Nothing
End Sub
Nell'editor di VBA va attivata la libreria di Microsoft Outlook 15.0
Alfredo |
| | Post: 28 | Registrato il: 23/01/2017
| Città: BRENDOLA | Età: 54 | Utente Junior | Excel 2010 | | OFFLINE | |
|
24/03/2017 14:23 | |
Ciao Alfredo
Grazie mille per l'aiuto.
Ho copiato la macro dentro il modulo 1.
Tutto ok.
Come da tuo consiglio, ho cercato di attivare la libreria di Microsoft Outlook 15.0.
Ho dato un'occhiata dentro i vari menù di VBA.
Son sincero. Non ci sono riuscito.
Potresti specificarmi dove si trova questa funzione ?
Grazie mille ancora. |
| | Post: 2.990 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
24/03/2017 14:27 | |
Nell'editor di VBA Strumenti, Riferimenti e nella finestra che ti si apre scorri l'elenco fino a trovare Microsoft Outlook 15.0, spunta la casella e dai Ok.
N.B. il 15.0 potrebbe cambiare in relazione alla versione di Office che hai.
Alfredo |
| | Post: 29 | Registrato il: 23/01/2017
| Città: BRENDOLA | Età: 54 | Utente Junior | Excel 2010 | | OFFLINE | |
|
24/03/2017 14:38 | |
Perfetto ! Trovata e aggiunto flag....mi da Outlook 14.0 non credo ci siano problemi.
Domande....
1) se non erro, questa macro dovrebbe inviare la mail 2 giorni prima
If Date - cel.Value = cel.Offset(0, -2).Value
Se così fosse, per inviare la mail con date anticipate differenti è possibile ?
Ed è possibile inserire nella mail in oggetto il testo che ho scritto nella cella B6 per es.?
2) La macro si attiva automaticamente quando apro il file senza fare nulla ?
Grazie mille
|
| | Post: 2.991 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
24/03/2017 14:54 | |
1) La macro invia la mail se la differenza tra la data odierna è la scadenza (colonna C) è uguale al valore contenuto in colonna A.
2) Se vari i valori in colonna A la mail viene inviata se soddisfatta la condizione di cui sopra.
3) Per eseguire là macro all'apertura del file basta mettere il codice in ThisWokbook_Open.
Alfredo |
| | Post: 30 | Registrato il: 23/01/2017
| Città: BRENDOLA | Età: 54 | Utente Junior | Excel 2010 | | OFFLINE | |
|
24/03/2017 15:27 | |
Grazie Alfredo.
I punti 1 e 2 mi sono chiari.
Non mi è chiaro il punto 3.
Così com'è quando, al verificarsi di quale condizione la mail verrebbe inviata ? Accensione pc ?
Per l'invio se il foglio è aperto non mi è chiaro dove andar a variare la condizione che mi hai suggerito " basta mettere il codice in ThisWokbook_Open "
Grazie |
| | Post: 2.993 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
24/03/2017 15:41 | |
Fai così
1) vai nell'editor di VBA con ALT+F11
2) Nella finestra di progetto in alto a sinistra fai doppio clic su Questa_cartella_di_lavoro
e copia nella finestra in alto a destra questo codice
vb Private Sub Workbook_Open()
Dim OutlookApp As Outlook.Application
Dim MItem As Object
Dim Recipient As String, Subj As String
Dim Msg As String
Dim rng As Range
Dim cel As Range
Dim ur As Long
ur = Cells(Rows.Count, "c").End(xlUp).Row
Set rng = Range("c6:c" & ur)
On Error Resume Next
Recipient = "TuoIndirizzomail"
Subj = "Avviso Scadenza"
Msg = "Avviso scadenza"
For Each cel In rng
If Date - cel.Value = cel.Offset(0, -2).Value Then
Set OutlookApp = New Outlook.Application
Set MItem = OutlookApp.CreateItem(olMailItem)
With MItem
.To = Recipient
.Subject = Subj
.Body = cel.Offset(0, -1).Value
.Display
'.Send
End With
End If
Next cel
Set OutlookApp = Nothing
End Sub
Alfredo |
| | Post: 31 | Registrato il: 23/01/2017
| Città: BRENDOLA | Età: 54 | Utente Junior | Excel 2010 | | OFFLINE | |
|
24/03/2017 15:47 | |
Ok Alfredo.
Eseguito tutto.
Ora collaudo. Un saluto e alla prossima
Grazie mille
Buona giornata |
| | Post: 2.994 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
24/03/2017 15:50 | |
Ok Roberto.
Attualmente la macro ti fa vedere l'anteprima della mail;
Se vuoi inviarla nel codice devi mettere l'apostrofo davanti a .Display e toglierlo a .Send
e, ovviamente, inserire il vero indirizzo mail.
P.S. Prendi in considerazione la possibilità di eseguire la macro con un clic su un pulsante/forma piuttosto che lanciarla automaticamente all'apertura del file perché sennò ogni volta che apri il file verrà eseguita.
Comunque valuta tu. [Modificato da alfrimpa 24/03/2017 15:55]
Alfredo |
| | Post: 32 | Registrato il: 23/01/2017
| Città: BRENDOLA | Età: 54 | Utente Junior | Excel 2010 | | OFFLINE | |
|
24/03/2017 16:03 | |
Grazie mille Alfredo.
Ho eseguito la variazione dell'apostrofo.
Ora provo così.
Eventualmente creo un pulsante e gli associo la macro.
Grazie mille
Roberto |
| | Post: 33 | Registrato il: 23/01/2017
| Città: BRENDOLA | Età: 54 | Utente Junior | Excel 2010 | | OFFLINE | |
|
24/03/2017 16:14 | |
Alfredo ho provato e mi è arrivata la mail all'apertura del file excel
Grazie mille veramente.
Roberto |
| | Post: 34 | Registrato il: 23/01/2017
| Città: BRENDOLA | Età: 54 | Utente Junior | Excel 2010 | | OFFLINE | |
|
27/03/2017 15:24 | |
Ciao Alfredo.
Per non preoccuparmi di aprire il file, sarebbe possibile attivare la mail alla sola accensione del pc senza dover aprire il file ?
Questa esigenza perchè farei usare il file anche ad una collega dell'Amministrazione, così una volta segnata la data dell'evento non dovrebbe più preoccuparsi di aprire il file. La mail arriverebbe sicuramente.
Speriamo si possa.
Grazie mille
Roberto |
| | Post: 3.004 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | OFFLINE |
|
27/03/2017 15:56 | |
Ciao Roberto
Con la sola accensione del pc non puoi farlo devi comunque accendere il pc e lanciare Excel
Per aprire automaticamente una cartella di lavoro all'apertura di Excel guarda qui
https://support.office.com/it-it/article/Personalizzare-l-avvio-di-Excel-6509b9af-2cc8-4fb6-9ef5-cf5f1d292c19
Alfredo |
| | Post: 35 | Registrato il: 23/01/2017
| Città: BRENDOLA | Età: 54 | Utente Junior | Excel 2010 | | OFFLINE | |
|
27/03/2017 17:26 | |
Grazie mille Alfredo.
Penso sia già sufficiente così.
Grazie ancora.
Buona giornata
Roberto |
| | Post: 0 | Registrato il: 12/11/2018
| Città: FOSSALTA DI PORTOGRUARO | Età: 58 | Utente Junior | 2017 | | OFFLINE | |
|
12/11/2018 14:18 | |
inviare avvisi di scadenza via email Ciao a tutti, ho provato la macro del invio email, pero mi da errore
alla prima riga, errore compilazione.Tipo definito dal utente non definito [Modificato da flavio(1966) 12/11/2018 14:21] |
| | Post: 1.990 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
12/11/2018 17:31 | |
Leggi bene il post n. 2 alla fine
saluti
Domenico
Win 10 - Excel 2016 |
| | Post: 2 | Registrato il: 12/04/2012
| Città: BAGHERIA | Età: 54 | Utente Junior | versione 15.0 | | OFFLINE | |
|
13/11/2018 14:24 | |
buongiorno a tutti, ottima routine ma come potrei fare ad inviare la mail invece che a "TuoIndirizzomail" all'indirizzo che vado a scrivere direttamente nella colonna D?
Grazie per il vostro aiuto. |
| | Post: 733 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Senior | Excel 2016-32bit Win11 | | OFFLINE |
|
14/11/2018 01:14 | |
Se è una sola cella ci metti il suo riferimento tipo RANGE("D2") mentre se devi scorrere l'intera colonna D devi anche implementare nella macro un ciclo For/Next o un Do/While. [Modificato da rollis13 14/11/2018 01:15]
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto) |
| | Post: 3 | Registrato il: 12/04/2012
| Città: BAGHERIA | Età: 54 | Utente Junior | versione 15.0 | | OFFLINE | |
|
14/11/2018 10:53 | |
grazie |
| | Post: 0 | Registrato il: 30/12/2018
| Utente Junior | 14.7 | | OFFLINE | |
|
30/12/2018 23:17 | |
alfrimpa, 27/03/2017 15.56:
Ciao Roberto
Con la sola accensione del pc non puoi farlo devi comunque accendere il pc e lanciare Excel
Per aprire automaticamente una cartella di lavoro all'apertura di Excel guarda qui
https://support.office.com/it-it/article/Personalizzare-l-avvio-di-Excel-6509b9af-2cc8-4fb6-9ef5-cf5f1d292c19
Buona sera,
Chiedo scusa,chiedevo se potevate postare un modulo di esempio excel con la macro inserita, non riesco proprio a farlo funzionare.
Grazie in anticipo.
|
| | Post: 4.041 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | OFFLINE |
|
31/12/2018 12:25 | |
@elettrimic
Apri una nuova discussione allegando un file di esempio e spiega quello che vuoi fare.
Alfredo |
| | Post: 2 | Registrato il: 30/12/2018
| Utente Junior | 14.7 | | OFFLINE | |
|
31/12/2018 14:38 | |
alfrimpa, 31/12/2018 12.25:
@elettrimic
Apri una nuova discussione allegando un file di esempio e spiega quello che vuoi fare.
Grazie Alfredo del consiglio, ho avviato una nuova discussione QUI[Modificato da elettrimic 31/12/2018 14:43] |
|
|