Risultati da 1 a 27 di 27

Discussione: eseguire 3 macro in automatico ma in sequenza una all'altra



  1. #1
    L'avatar di ste75v
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    borgomanero
    Messaggi
    105
    Versione Office
    2013
    Likes ricevuti
    2
    Likes dati
    3

    eseguire 3 macro in automatico ma in sequenza una all'altra

    Ciao a tutti , come posso fare per far eseguire 3 macro in automatico ma in sequenza una all'altra.
    Mi spiego meglio:con una macro io vorrei :
    lanciare la prima macro , quando quest'ultima ha finito il suo processo , viene lanciata la seconda , quando anche quest' ultima ha finito il processo , lancia la 3° macro.
    Ho provato a fare cosi ma non funziona :
    Sub auto_open()


    Call FiltraIspezioniScaduteESalvaInPDF


    Application.Wait (Now + TimeValue("0:01:00"))


    Call inscadenza


    Application.Wait (Now + TimeValue("0:01:00"))


    Call inscadenza2


    End Sub

  2. #2
    L'avatar di GiuseppeMN
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Mantova
    Messaggi
    864
    Versione Office
    2000 - 2013
    Likes ricevuti
    285
    Likes dati
    160
    Buona giornata, Ste;
    prima di proporti una possibile soluzione, avrei la necessità di vedere cosa contengono i tre Codici VBA.



    A disposizione.

    Buon Lavoro e buona serata.

    Giuseppe
    Windows XP Excel 2000 - Windows 10 Excel 2013

  3. #3
    L'avatar di ste75v
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    borgomanero
    Messaggi
    105
    Versione Office
    2013
    Likes ricevuti
    2
    Likes dati
    3
    Citazione Originariamente Scritto da GiuseppeMN Visualizza Messaggio
    Buona giornata, Ste;
    prima di proporti una possibile soluzione, avrei la necessità di vedere cosa contengono i tre Codici VBA.



    A disposizione.

    Buon Lavoro e buona serata.

    Giuseppe
    Ok Giuseppe , ho provato come mi ha detto Gerardo per inserire i codici mettendo TAG# codice : , ma non mi si apre la finestra ed il codice viene inserito nel testo del messaggio..
    Come posso fare

    Grazie

  4. #4
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3208
    Versione Office
    Excel2010
    Likes ricevuti
    625
    Likes dati
    155
    Lungi da me l'idea di sovrappormi a GiuseppeMN (un saluto) e la cui richiesta condivido, vorrei chiederti perché inserisci questa riga di codice:
    Codice: 
    Application.Wait (Now + TimeValue("0:01:00"))
    Ciao,
    Mario

  5. #5
    L'avatar di ste75v
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    borgomanero
    Messaggi
    105
    Versione Office
    2013
    Likes ricevuti
    2
    Likes dati
    3
    Citazione Originariamente Scritto da Marius44 Visualizza Messaggio
    Lungi da me l'idea di sovrappormi a GiuseppeMN (un saluto) e la cui richiesta condivido, vorrei chiederti perché inserisci questa riga di codice:
    Codice: 
    Application.Wait (Now + TimeValue("0:01:00"))
    Ciao,
    Mario
    Ciao Maruius , magari sbaglio , ma vorrei che dopo che viene lanciata la prima macro laquale , Filtra salva in pdf , invia mail con allegato , rimuove il filtro applicato , vorrei che venga eseguita sempre in automatico la seconda mail che fa le stesse cose ma su colonna differente .
    La stessa cosa vale per la terza macro.
    Grazie

  6. #6
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3339
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da ste75v Visualizza Messaggio
    Ciao Maruius , magari sbaglio , ma vorrei che dopo che viene lanciata la prima macro laquale , Filtra salva in pdf , invia mail con allegato , rimuove il filtro applicato , vorrei che venga eseguita sempre in automatico la seconda mail che fa le stesse cose ma su colonna differente .
    La stessa cosa vale per la terza macro.
    Grazie
    Ciao Mario ciao Giuseppe ciao Ste
    Ma non puoi metterli a cascata su una sola macro ?

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  7. #7
    L'avatar di ste75v
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    borgomanero
    Messaggi
    105
    Versione Office
    2013
    Likes ricevuti
    2
    Likes dati
    3
    Citazione Originariamente Scritto da Baloon_50 Visualizza Messaggio
    Ciao Mario ciao Giuseppe ciao Ste
    Ma non puoi metterli a cascata su una sola macro ?
    Ciao Baloon , sinceramente ci ho provato , ma non so per quale motivo non funziona e non mi da nessun errore e esegue solo parzialmente la prima macro

  8. #8

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7124
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2063
    Likes dati
    1298
    Ciao Ste,
    allora non ti resta che postare il codice così si può dare un'occhiata.

  9. #9
    L'avatar di ste75v
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    borgomanero
    Messaggi
    105
    Versione Office
    2013
    Likes ricevuti
    2
    Likes dati
    3
    Citazione Originariamente Scritto da ges Visualizza Messaggio
    Ciao Ste,
    allora non ti resta che postare il codice così si può dare un'occhiata.
    Non sapendo come fare per far aprire la finestra per inserire il codice , andrò ad inserirli ne testo del messaggio .
    questo è la prima delle tre macro:

    Sub FiltraIspezioniScaduteESalvaInPDF()


    For cella = 9 To 2000
    If Range("AQ" & cella) = "EXPIRED INSPECTION" Then
    ActiveSheet.Range("$A$8:$IS$1697").AutoFilter Field:=43, Criteria1:="EXPIRED INSPECTION"
    Range("AQ9").Select


    End If


    Next


    For cella = 9 To 2000
    If Range("AQ" & cella) = "EXPIRED INSPECTION" Then


    Dim ws As Worksheet
    Dim strIndirizzo As String
    Dim myFile As Variant
    Dim strFile As String
    Dim wb As Workbook ' aggiunto per togliere filtro



    Dim newMail As Object ' aggiunto per invio mail
    On Error GoTo errHandler

    Set ws = ActiveSheet

    'apre la finestra di dialogo per il salvataggio dei file
    'la cartella di default è la stessa della cartella di excel
    strFile = Replace(Replace(ws.Name, " ", ""), ".", "_") _
    & "_" _
    & Format(Now(), "yyyy-mm-dd\_hh-mm") _
    & ".pdf"
    strFile = ThisWorkbook.Path & "\" & strFile

    myFile = Application.GetSaveAsFilename _
    (InitialFileName:=strFile, _
    FileFilter:="PDF Files (*.pdf), *.pdf", _
    Title:="ispezioni scadute")

    If myFile <> False Then
    ws.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:=myFile, _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False

    MsgBox "Il file PDF è stato salvato."


    End If


    Set newMail = CreateObject("Outlook.Application").CreateItem(oMailItem)
    With newMail
    .To = Worksheets("Foglio2").Range("A2")
    .Subject = Worksheets("Foglio2").Range("D2")
    .Body = Worksheets("Foglio2").Range("E2")
    ' .CC = indirizzo in copia per conoscenza, se mi serve. qui è commentato
    .Attachments.Add myFile
    .Send


    End With


    Set wb = ThisWorkbook
    Set ws = wb.ActiveSheet

    'azzera le condizioni del filtro automatico
    'e mostra tutti i dati
    If ws.AutoFilterMode Then
    If ws.FilterMode Then
    ws.ShowAllData
    End If
    End If

    Set ws = Nothing
    Set wb = Nothing

    End If

    exitHandler:
    Exit Sub
    errHandler:
    MsgBox "Non ho potuto salvare il file PDF"
    Resume exitHandler




    On Error Resume Next


    Next


    End Sub

  10. #10
    L'avatar di ste75v
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    borgomanero
    Messaggi
    105
    Versione Office
    2013
    Likes ricevuti
    2
    Likes dati
    3
    questa è la seconda macro:

    Sub inscadenza()


    For cella = 9 To 2000
    If Range("AR" & cella) = "INSPECTION VALIDITY EXPIRING" Then
    ActiveSheet.Range("$A$8:$IS$1697").AutoFilter Field:=44, Criteria1:="INSPECTION VALIDITY EXPIRING"
    Range("AR9").Select


    End If


    Next


    For cella = 9 To 2000
    If Range("AR" & cella) = "INSPECTION VALIDITY EXPIRING" Then


    Dim ws As Worksheet
    Dim strIndirizzo As String
    Dim myFile As Variant
    Dim strFile As String
    Dim wb As Workbook ' aggiunto per togliere filtro



    Dim newMail As Object ' aggiunto per invio mail
    On Error GoTo errHandler

    Set ws = ActiveSheet

    'apre la finestra di dialogo per il salvataggio dei file
    'la cartella di default è la stessa della cartella di excel
    strFile = Replace(Replace(ws.Name, " ", ""), ".", "_") _
    & "_" _
    & Format(Now(), "yyyy-mm-dd\_hh-mm") _
    & ".pdf"
    strFile = ThisWorkbook.Path & "\" & strFile

    myFile = Application.GetSaveAsFilename _
    (InitialFileName:=strFile, _
    FileFilter:="PDF Files (*.pdf), *.pdf", _
    Title:="ispezioni scadute")

    If myFile <> False Then
    ws.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:=myFile, _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False

    MsgBox "Il file PDF è stato salvato."


    End If


    Set newMail = CreateObject("Outlook.Application").CreateItem(oMailItem)
    With newMail
    .To = Worksheets("Foglio2").Range("A2")
    .Subject = Worksheets("Foglio2").Range("D3")
    .Body = Worksheets("Foglio2").Range("E3")
    ' .CC = indirizzo in copia per conoscenza, se mi serve. qui è commentato
    ' PER INSERIRE NELLA MACRO DESTINATARO , SOGGETTO , TESTO METTERE I DATI TRA LE DOPPIE VIRGOLETTE
    .Attachments.Add myFile
    .Send


    End With


    Set wb = ThisWorkbook
    Set ws = wb.ActiveSheet

    'azzera le condizioni del filtro automatico
    'e mostra tutti i dati
    If ws.AutoFilterMode Then
    If ws.FilterMode Then
    ws.ShowAllData
    End If
    End If

    Set ws = Nothing
    Set wb = Nothing

    End If

    exitHandler:
    Exit Sub
    errHandler:
    MsgBox "Non ho potuto salvare il file PDF"
    Resume exitHandler




    On Error Resume Next


    Next


    End Sub

  11. #11
    L'avatar di ste75v
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    borgomanero
    Messaggi
    105
    Versione Office
    2013
    Likes ricevuti
    2
    Likes dati
    3
    questa è la terza ed ultima macro :
    Sub inscadenza2()


    For cella = 9 To 2000
    If Range("AS" & cella) = "INSPECTION VALIDITY EXPIRING" Then
    ActiveSheet.Range("$A$8:$IS$1697").AutoFilter Field:=45, Criteria1:="INSPECTION VALIDITY EXPIRING"
    Range("AS9").Select


    End If


    Next


    For cella = 9 To 2000
    If Range("AS" & cella) = "INSPECTION VALIDITY EXPIRING" Then


    Dim ws As Worksheet
    Dim strIndirizzo As String
    Dim myFile As Variant
    Dim strFile As String
    Dim wb As Workbook ' aggiunto per togliere filtro



    Dim newMail As Object ' aggiunto per invio mail
    On Error GoTo errHandler

    Set ws = ActiveSheet

    'apre la finestra di dialogo per il salvataggio dei file
    'la cartella di default è la stessa della cartella di excel
    strFile = Replace(Replace(ws.Name, " ", ""), ".", "_") _
    & "_" _
    & Format(Now(), "yyyy-mm-dd\_hh-mm") _
    & ".pdf"
    strFile = ThisWorkbook.Path & "\" & strFile

    myFile = Application.GetSaveAsFilename _
    (InitialFileName:=strFile, _
    FileFilter:="PDF Files (*.pdf), *.pdf", _
    Title:="ispezioni scadute")

    If myFile <> False Then
    ws.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:=myFile, _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False

    MsgBox "Il file PDF è stato salvato."


    End If


    Set newMail = CreateObject("Outlook.Application").CreateItem(oMailItem)
    With newMail
    .To = Worksheets("Foglio2").Range("A2")
    .Subject = Worksheets("Foglio2").Range("D4")
    .Body = Worksheets("Foglio2").Range("E4")
    ' .CC = indirizzo in copia per conoscenza, se mi serve. qui è commentato
    ' PER INSERIRE NELLA MACRO DESTINATARO , SOGGETTO , TESTO METTERE I DATI TRA LE DOPPIE VIRGOLETTE
    .Attachments.Add myFile
    .Send


    End With


    Set wb = ThisWorkbook
    Set ws = wb.ActiveSheet

    'azzera le condizioni del filtro automatico
    'e mostra tutti i dati
    If ws.AutoFilterMode Then
    If ws.FilterMode Then
    ws.ShowAllData
    End If
    End If

    Set ws = Nothing
    Set wb = Nothing

    End If

    exitHandler:
    Exit Sub
    errHandler:
    MsgBox "Non ho potuto salvare il file PDF"
    Resume exitHandler




    On Error Resume Next


    Next


    End Sub

  12. #12
    L'avatar di zio_tom
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Veneto
    Messaggi
    526
    Versione Office
    2010 - Win10
    Likes ricevuti
    64
    Likes dati
    17
    senza i dati del foglio non si può simulare
    per allegare il file, quando rispondi ad un messaggio, passa a "Modalià Avanzate" (in basso a destra) e vedrai iconcina "clips ferma fogli" o "fermaglio"
    clickaci sopra e seleziona il file da allegare

    una prima idea.... se una parte di codice è uguale, metti questa parte su di una Sub e gli passi i parametri che cambiano
    poi richiama 3 volte ciscuna con suoi parametri

  13. #13
    L'avatar di zio_tom
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Veneto
    Messaggi
    526
    Versione Office
    2010 - Win10
    Likes ricevuti
    64
    Likes dati
    17
    ad una prima occhiata, dopo aver messo in ordine per rendere leggibil
    di sicuro le sub hanno dei problemi: il next , end sub, on error
    sicuramente si possono semplificare e linearizzare

    e ribadisco che passando 3-4 parametri ad una sola sub richiamata 3 volte

  14. #14
    L'avatar di ste75v
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    borgomanero
    Messaggi
    105
    Versione Office
    2013
    Likes ricevuti
    2
    Likes dati
    3
    Citazione Originariamente Scritto da zio_tom Visualizza Messaggio
    senza i dati del foglio non si può simulare
    per allegare il file, quando rispondi ad un messaggio, passa a "Modalià Avanzate" (in basso a destra) e vedrai iconcina "clips ferma fogli" o "fermaglio"
    clickaci sopra e seleziona il file da allegare

    una prima idea.... se una parte di codice è uguale, metti questa parte su di una Sub e gli passi i parametri che cambiano
    poi richiama 3 volte ciscuna con suoi parametri

    Ciao Zio Tom , allego il file , senza macro per stare sotto i 50 kb .
    Le macro sono quello postate precedentemente

    ciaooooooo

  15. #15
    L'avatar di zio_tom
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Veneto
    Messaggi
    526
    Versione Office
    2010 - Win10
    Likes ricevuti
    64
    Likes dati
    17
    intanto semplificando un po':
    --------------------------------
    Sub Cumulo()
    '
    già FiltraIspezioniScaduteESalvaInPDF
    Call Comune("AQ", 43, "EXPIRED INSPECTION", "A2", "D2", "E2")
    '
    già inscadenza
    Call Comune("AR", 44, "INSPECTION VALIDITY EXPIRING", "A2", "D3", "E3")
    '
    già inscadenza2
    Call Comune("AS", 45, "INSPECTION VALIDITY EXPIRING", "A2", "E4", "E4")

    End Sub
    -------------------------------
    Sub Comune(ColRif As String, campo As Integer, Crit As String, Rg1 As String, Rg2 As String, Rg3 As String)
    Dim cella As Integer

    For cella = 9 To 2000
    If Range(ColRif & cella) = Crit Then
    ActiveSheet.Range("$A$8:$IS$1697").AutoFilter Field:=campo, Criteria1:=Crit
    Range(ColRif & "9").Select
    End If
    Next

    For cella = 9 To 2000
    If Range(ColRif & cella) = Crit Then
    Dim ws As Worksheet
    Dim strIndirizzo As String
    Dim myFile As Variant
    Dim strFile As String
    Dim wb As Workbook ' aggiunto per togliere filtro
    Dim newMail As Object ' aggiunto per invio mail
    On Error GoTo errHandler
    Set ws = ActiveSheet
    'apre la finestra di dialogo per il salvataggio dei file
    'la cartella di default è la stessa della cartella di excel
    strFile = Replace(Replace(ws.Name, " ", ""), ".", "_") & "_" & Format(Now(), "yyyy-mm-dd\_hh-mm") & ".pdf"
    strFile = ThisWorkbook.Path & "\" & strFile
    myFile = Application.GetSaveAsFilename(InitialFileName:=strFile, FileFilter:="PDF Files (*.pdf), *.pdf", Title:="ispezioni scadute")
    If myFile <> False Then
    ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=myFile, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    MsgBox "Il file PDF è stato salvato."
    End If
    Set newMail = CreateObject("Outlook.Application").CreateItem(oMailItem)
    With newMail
    .To = Worksheets("Foglio2").Range(Rg1)
    .Subject = Worksheets("Foglio2").Range(Rg2)
    .Body = Worksheets("Foglio2").Range(Rg3)
    ' .CC = indirizzo in copia per conoscenza, se mi serve. qui è commentato
    .Attachments.Add myFile
    .Send
    End With
    Set wb = ThisWorkbook
    Set ws = wb.ActiveSheet
    'azzera le condizioni del filtro automatico
    'e mostra tutti i dati
    If ws.AutoFilterMode And ws.FilterMode Then ws.ShowAllData
    Set ws = Nothing
    Set wb = Nothing
    End If
    exitHandler:
    Exit Sub
    errHandler:
    MsgBox "Non ho potuto salvare il file PDF"
    Resume exitHandler
    On Error Resume Next
    Next
    End Sub
    --------------------------

    .... a me fa tutti e 3 i cicli, ho guardato velocemente ma non mi è chiaro cosa dovrebbe fare
    l'uso dei filtri mi restituisce tutto nascosto
    ed in file PDF appunto con tutto nascosto, solo i titoli

    forse il secondo ciclo For non è chiuso bene
    se in riga 9 non trova corrispondenza esegue un ExitSub
    mi sembra strano che funzioni anche lanciando singolarmente le 3 Sub

    se non ho capito male vorresti filtrare secondo in criterio e poi stampare su PDF e spedire per mail
    ottenendo 3 file PDF e spedendo 3 mail
    ed in oltre non disattiva il filtro

    così come stanno le cose e per quel che mi è dato da capire.... difficile dare risposta.... getto la spugna

    posta l'intero file che secondo te funziona, su DropBox

  16. #16
    L'avatar di zio_tom
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Veneto
    Messaggi
    526
    Versione Office
    2010 - Win10
    Likes ricevuti
    64
    Likes dati
    17
    non riesco a capire come può funzionare e che significato ha il secondo ciclo For ed il seguente If
    parte sempre da riga 9 e se non trova corrispondenza esce !!!!
    se poi si fanno le cose in fretta i file hanno stesso nome (salvate nello stesso minuto) basta un carattere diverso
    ho provato a sistemare (rbadisco NON è certo la chiamata alle 3 Sub ma tutto il codice che non va)
    Così almeno salva correttemente con i filtri funzionanti (non venivano chiusi), ho disattivato la parte email per mia comodità

    Sub Cumulo()
    'già FiltraIspezioniScaduteESalvaInPDF
    Call Comune("AQ", 43, "EXPIRED INSPECTION", "A2", "D2", "E2")
    'inscadenza
    Call Comune("AR", 44, "INSPECTION VALIDITY EXPIRING", "A2", "D3", "E3")
    'inscadenza2
    Call Comune("AS", 45, "INSPECTION VALIDITY EXPIRING", "A2", "D4", "E4")
    End Sub

    Sub Comune(ColRif As String, campo As Integer, Crit As String, Rg1 As String, Rg2 As String, Rg3 As String)
    Dim cella As Integer

    For cella = 9 To 2000
    If Range(ColRif & cella) = Crit Then
    ActiveSheet.Range("$A$8:$IS$1697").AutoFilter Field:=campo, Criteria1:=Crit
    Range(ColRif & "9").Select
    End If
    Next

    For cella = 9 To 2000
    If Range(ColRif & cella) = Crit Then GoTo OK
    Next
    'non ho trovato corrisondenza
    MsgBox "Non ci sono corrispondenze"
    GoTo exitHandler

    OK:
    Dim ws As Worksheet
    Dim strIndirizzo As String
    Dim myFile As Variant
    Dim strFile As String
    Dim wb As Workbook ' aggiunto per togliere filtro
    Dim newMail As Object ' aggiunto per invio mail
    On Error GoTo errHandler

    Set ws = ActiveSheet
    'apre la finestra di dialogo per il salvataggio dei file
    'la cartella di default è la stessa della cartella di excel
    'strFile = Replace(Replace(ws.Name, " ", ""), ".", "_") & "_" & Format(Now(), "yyyy-mm-dd\_hh-mm") & ".pdf"
    strFile = Replace(Replace(ws.Name, " ", ""), ".", "_") & "-" & campo & "_" & Format(Now(), "yyyy-mm-dd\_hh-mm") & ".pdf"
    strFile = ThisWorkbook.Path & "\" & strFile
    myFile = Application.GetSaveAsFilename(InitialFileName:=strFile, FileFilter:="PDF Files (*.pdf), *.pdf", Title:="ispezioni scadute")
    If myFile <> False Then
    ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=myFile, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    MsgBox "Il file PDF è stato salvato."
    End If
    'Set newMail = CreateObject("Outlook.Application").CreateItem(oMailItem)
    'With newMail
    ' .To = Worksheets("Foglio2").Range(Rg1)
    ' .Subject = Worksheets("Foglio2").Range(Rg2)
    ' .Body = Worksheets("Foglio2").Range(Rg3)
    ' .CC = indirizzo in copia per conoscenza, se mi serve. qui è commentato
    ' .Attachments.Add myFile
    ' .Send
    'End With
    Set wb = ThisWorkbook
    Set ws = wb.ActiveSheet
    'azzera le condizioni del filtro automatico
    'e mostra tutti i dati
    If ws.AutoFilterMode And ws.FilterMode Then ws.ShowAllData
    Set ws = Nothing
    Set wb = Nothing
    'End If

    exitHandler:
    Selection.AutoFilter
    Exit Sub

    errHandler:
    MsgBox "Non ho potuto salvare il file PDF"
    Resume exitHandler
    On Error Resume Next
    'Next
    End Sub

  17. #17
    L'avatar di zio_tom
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Veneto
    Messaggi
    526
    Versione Office
    2010 - Win10
    Likes ricevuti
    64
    Likes dati
    17
    allego il file con VBA, funzionante
    l'unico problema è che mette le email in uscita e poi bisogna aprire OutLook per inviarle
    ho levato i collegamenti a file esterni che creavano problemi in quanto non i mio possesso


    se qualcuno riesce anche a spedire le mail da codice VBA.......

  18. #18
    L'avatar di zio_tom
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Veneto
    Messaggi
    526
    Versione Office
    2010 - Win10
    Likes ricevuti
    64
    Likes dati
    17
    ho scoperto che bisogna attivare la libreria 'Microsoft OutLook' dall'editor VBA Strumenti>Riferimenti
    ed in oltre si può definire da quale account spedire la mail, e scrivere in HTML

  19. #19
    L'avatar di zio_tom
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Veneto
    Messaggi
    526
    Versione Office
    2010 - Win10
    Likes ricevuti
    64
    Likes dati
    17
    x ste75v
    per cortesia sostituisci i miei indirizzi mail, con i tuoi su 'Foglio2'
    altrimenti continuano arrivarmi le tue mail !!!!
    scusa se non ti ho avvertito prima
    grazie

    PS: dimmi come vanno le cose!!!
    almeno si sa se si ha fatto un buon lavoro
    i feedback sono il prezzo dovuto di una "consulenza"

  20. #20
    L'avatar di ste75v
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    borgomanero
    Messaggi
    105
    Versione Office
    2013
    Likes ricevuti
    2
    Likes dati
    3
    Citazione Originariamente Scritto da zio_tom Visualizza Messaggio
    x ste75v
    per cortesia sostituisci i miei indirizzi mail, con i tuoi su 'Foglio2'
    altrimenti continuano arrivarmi le tue mail !!!!
    scusa se non ti ho avvertito prima
    grazie

    PS: dimmi come vanno le cose!!!
    almeno si sa se si ha fatto un buon lavoro
    i feedback sono il prezzo dovuto di una "consulenza"

    Scusami zio tom ero fuori casa....
    la macro funziona , solo che gli allegati li dovrebbe inviare singolarmente con singola mail. Io per comodità avevo messo un solo destinatario , ma dovrà inviare ogni singola mail , in base al tipo di scadenza a destinatari differenti.
    Ciao e grazie

  21. #21
    L'avatar di zio_tom
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Veneto
    Messaggi
    526
    Versione Office
    2010 - Win10
    Likes ricevuti
    64
    Likes dati
    17
    quale sarebbe la regola??
    fatto 30 facciamo 31

  22. #22
    L'avatar di ste75v
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    borgomanero
    Messaggi
    105
    Versione Office
    2013
    Likes ricevuti
    2
    Likes dati
    3
    Citazione Originariamente Scritto da zio_tom Visualizza Messaggio
    quale sarebbe la regola??
    fatto 30 facciamo 31
    Ciao Zio tom , la macro dovrebbe funzionare cosi:
    • filtrare la colonna AQ solo se presente il valore EXPIRED INSPECTION in caso contrario deve procedere alla fase successiva.
    • Se viene trovato il valore nella colonna AQ la macro deve filtrare la colonna , salvare il foglio in PDF ed inviare una mail (dettagli invio mail foglio2 riga 2) dopo di che deve rimuovere il filtro dalla colonna AQ.



    • Il passaggio successivo è praticamente uguale al precedente solo che il valore da trovare è INSPECTION VALIDITY EXPIRING , la colonna dove va cercato il valore è AR i dettagli della mail sono sempre ne foglio2 ma nella riga 3



    • Ultimo passo , come il passaggio precedente il valore da cercare è sempre INSPECTION VALIDITY EXPIRING , ma va cercato nella colonna AS ,per la mail i dettagli sono sempre nel foglio2 ma nella riga 4



    Ciao e grazie

  23. #23
    L'avatar di ste75v
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    borgomanero
    Messaggi
    105
    Versione Office
    2013
    Likes ricevuti
    2
    Likes dati
    3
    ciao Zio tom , scusa il disturbo... Hai mica avuto modo di guardarci???:111:

  24. #24
    L'avatar di zio_tom
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Veneto
    Messaggi
    526
    Versione Office
    2010 - Win10
    Likes ricevuti
    64
    Likes dati
    17
    basta cambiare i file PDF, invece che tutti e 3 assieme, spedirne uno alla volta
    potevi arrivarci da solo...
    ricordati di sostituire la mia mail sil foglio2
    non l'ho provato ma dovrebbe fare ciò che chiedi
    Allegato 806
    n°3 - Win10pro + Office 2010 ----- n°1 - Win7pro + Office 2010 ----- n°1 - WinXPpro + Office 2010

  25. #25
    L'avatar di ste75v
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    borgomanero
    Messaggi
    105
    Versione Office
    2013
    Likes ricevuti
    2
    Likes dati
    3
    Citazione Originariamente Scritto da zio_tom Visualizza Messaggio
    basta cambiare i file PDF, invece che tutti e 3 assieme, spedirne uno alla volta
    potevi arrivarci da solo...
    ricordati di sostituire la mia mail sil foglio2
    non l'ho provato ma dovrebbe fare ciò che chiedi
    Allegato 806

    Ciao Zio tom ,ho provato la macro e ho riscontrato un paio di problemi.
    1) se in una delle colonne che la macro filtra non è presente il valore , invia ugualmente la mail con il foglio creato.
    2)lanciando la macro più volte per verificare il funzionamento , rimuovendo i valori dalle colonne , la macro non funziona piu e mi esce questo bug...
    che succede???

    errore di run-time '1004':
    Errore nel metodo AutoFilter perla classe Range

    ActiveSheet.Range("$A$8:$IS$1697").AutoFilter Field:=campo, Criteria1:=Crit

  26. #26
    L'avatar di zio_tom
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Veneto
    Messaggi
    526
    Versione Office
    2010 - Win10
    Likes ricevuti
    64
    Likes dati
    17
    per quanto riguarda il punto 1) è facilmente risolvibile

    potevi arrivarci da solo

    per il resto chiedo aiuto ai colleghi...
    Ultima modifica fatta da:Gerardo Zuccalà; 29/10/15 alle 18:41 Motivo: allegato non visualizzato bene
    n°3 - Win10pro + Office 2010 ----- n°1 - Win7pro + Office 2010 ----- n°1 - WinXPpro + Office 2010

  27. I seguenti utenti hanno dato un "Like"


  28. #27
    L'avatar di ste75v
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    borgomanero
    Messaggi
    105
    Versione Office
    2013
    Likes ricevuti
    2
    Likes dati
    3
    Per ora la macro viene eseguita senza problemi e non mi presenta nessun errore .
    Ringrazio ZIO TOM per il prezioso aiuto.

    Considero questo post risolto

Discussioni Simili

  1. Come faccio a eseguire un completamento automatico di date non consecutive?
    Di rock55 nel forum Domande su Excel in generale
    Risposte: 4
    Ultimo Messaggio: 01/12/16, 21:08
  2. [Risolto] macro che esegue più macro in sequenza
    Di nessi nel forum Domande su Excel VBA e MACRO
    Risposte: 10
    Ultimo Messaggio: 13/10/16, 21:03
  3. Passaggio in automatico da una cella ad un altra
    Di mirco1976 nel forum Domande su Excel VBA e MACRO
    Risposte: 2
    Ultimo Messaggio: 15/04/16, 00:39
  4. Eseguire macro solo e se è stata eseguita un'altra macro in precedenza
    Di micheledag nel forum Domande su Excel VBA e MACRO
    Risposte: 13
    Ultimo Messaggio: 05/03/16, 13:09
  5. eseguire macro 32bit su pc a 64bit
    Di Loretta nel forum Domande su Excel VBA e MACRO
    Risposte: 4
    Ultimo Messaggio: 02/12/15, 17:07

Tag per Questa Discussione

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •