Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Invio mail con dati filtrati

Ultimo Aggiornamento: 29/04/2016 19:22
Post: 4
Registrato il: 18/07/2014
Città: NAPOLI
Età: 42
Utente Junior
Excel 2013
OFFLINE
28/04/2016 09:23

Buongiorno,
in un foglio nella colonna A ho varie celle con testo "Da Inviare", "Inviato".
Quando vado a premere un pulsante ho bisogno di una macro che vada ad inviare via mail un foglio excel con solo le righe in "Da Inviare" ed una volta inviate sovrascrive il dato con "Inviato".
Grazie.
Post: 1.896
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
28/04/2016 10:46

Quando fai una richiesta devi sempre allegare un file di esempio.

Guarda qui

http://www.freeforumzone.com/d/11202105/ATTENZIONE-SCARICARE-o-INSERIRE-un-FILE-per-Download-od-Esempio/discussione.aspx

Alfredo
Post: 7
Registrato il: 18/07/2014
Città: NAPOLI
Età: 42
Utente Junior
Excel 2013
OFFLINE
28/04/2016 11:25

Ecco il file di partenza.
Post: 1.902
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
28/04/2016 18:22

Ciao Aikon

Ti allego file nel quale ho inserito la seguente macro associata al pulsante

vb
Sub InviaMail()
    Dim ur As Long
    Dim rng As Range
    Dim cel As Range
    Dim OutlookApp As Outlook.Application
    Dim MItem As Object
    Dim Recipient As String, Subj As String
    Dim Msg As String, Fname As String
    Dim dataordine As String
    ur = Cells(Rows.Count, 1).End(xlUp).Row
    Set rng = Range("a2:a" & ur)
    For Each cel In rng
    If cel.Value = "Da inviare" Then
    Set OutlookApp = New Outlook.Application
    Set MItem = OutlookApp.CreateItem(olMailItem)
    Recipient = cel.Offset(0, 3).Value
    Subj = "Tuo oggetto"
    Msg = "Egr. Sig. " & cel.Offset(0, 2).Value
    With MItem
      .To = Recipient
      .Subject = Subj
      .Body = Msg
      .Display
      '.Send
    End With
    End If
    cel.Value = "Inviato"
    Next cel
    Set OutlookApp = Nothing
End Sub


Attenzione: Va attivata nell'editor di VBA in Strumenti, Riferimenti la Microsoft Outlook 12.0 Object Library
[Modificato da alfrimpa 28/04/2016 18:24]

Alfredo
Post: 9
Registrato il: 18/07/2014
Città: NAPOLI
Età: 42
Utente Junior
Excel 2013
OFFLINE
29/04/2016 14:29

Grazie alfrimpa, ma mi occorre una macro che vada a spedire ad un indirizzo mail tipo prova@prova.com una mail con allegato il file excel contenente le righe in "Da inviare" e dopo l'invio le mette in "Inviata" così che quando andrò ad inserire nuovi record in "Da inviare" mi invierà quelli non ancora inviati.

Grazie mille.
Post: 1.907
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
29/04/2016 19:22

Guarda Aikon che la macro fa proprio quello che hai chiesto.

Esamina la colonna A del foglio e se c'è "Da inviare" invia la mail (ora ne vedi solo l'anteprima) all'indirizzo posto in colonna D e poi mette "Inviata" in colonna A. Tu l'hai provata?

Se le mail devono essere inviate tutte a "prova@prova.com" basta sostituire questa istruzione

Recipient = cel.Offset(0, 3).Value


con

Recipient = "prova@prova.com"


Comunque io ho cercato di darti uno spunto (il forum non è un posto dove si "commissionano" lavori) e se fai una ricerca su internet di link che trattano l'invio di mail con allegato ne troverai a decine.

Cerca di impegnarti un po' perché con il codice che hai già e quello che troverai in rete non è complicato basta solo un po' di buona volontà.
[Modificato da alfrimpa 29/04/2016 19:24]

Alfredo
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 05:46. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com