Dati aggiuntivi



  • Dati aggiuntivi
    di Beppe (utente non iscritto) data: 22/12/2016 14:58:28

    In una cartella ho 100 file Excel. Ogni file ha 20 fogli; uno dei fogli è denominato Riepilogo. Voglio inserire nel foglio Riepilogo, in C25, un indirizzo mail (uguale per tutti i 100 file); un altro indirizzo mail lo inserisco in D12: questo, però, è variabile, lo deve prendere automaticamente dalla cella C4 del Foglio1. Non voglio stare ad aprire uno ad uno i file: è possibile creare un file che con una macro inserisce nei 100 file quanto richiesto??



  • di patel data: 22/12/2016 16:09:55

    allegane uno con spiegazioni e risultato desiderato





  • di Beppe (utente non iscritto) data: 22/12/2016 16:29:03

    Cercando in rete ho trovato alcuni spunti, in base ai quali ho creato una macro, che mi sembra funzioni.
    Che cosa ne pensate ???
     
    Sub Posso()
    
    Dim percorso As String, Nome As String
    Dim Oggetto As Object, Cartella As Object, File_excel As Object
    Application.ScreenUpdating = False
    percorso = ThisWorkbook.Path
    Set Oggetto = CreateObject("Scripting.FileSystemObject")
    Set Cartella = Oggetto.GetFolder(percorso)
    Formula = "mario.rossi@tin.it"
    On Error GoTo prossimo
    For Each File_excel In Cartella.Files
        Nome = File_excel.Name
        If File_excel.Name <> ThisWorkbook.Name Then
            Workbooks.Open(percorso & "" & Nome).Sheets("Vuoto").Range("A2").Formula = "mario.rossi@tin.it"
            ActiveWorkbook.Close True
        End If
    Formula = "=Vuoto!a1"
    On Error GoTo prossimo
        Nome = File_excel.Name
        If File_excel.Name <> ThisWorkbook.Name Then
            Workbooks.Open(percorso & "" & Nome).Sheets("Vuoto").Range("A3").Formula = "=vuoto!a1"
            ActiveWorkbook.Close True
        End If
    
    prossimo:
    Next
    Application.ScreenUpdating = True
    MsgBox "Formule inserite!"
    End Sub
    



  • di alfrimpa data: 22/12/2016 16:46:48

    Ciao Beppe

    Ti allego anch'io un file con la macro che vedi sotto; lo devi salvare in una directory diversa da quella dove sono i file e questa deve avere solo i file di Excel che si devono modificare.

    Provala e fai sapere.

    Alfredo
     
    Sub Macro()
    Dim percorso As String
    Dim file As String
    Dim mail As String
    Application.ScreenUpdating = False
    mail = "pippopluto@libero.it"
    percorso = "c:TuaDirectory" '<=== Modifica il percorso
    file = Dir(percorso)
    Do Until file = ""
    Workbooks.Open Filename:=percorso & file
    With ActiveWorkbook.Sheets("Riepilogo")
        .Range("c25").Value = mail
        .Range("d12").Value = ActiveWorkbook.Sheets("Foglio1").Range("c4").Value
    End With
    ActiveWorkbook.Save
    ActiveWorkbook.Close
    file = Dir()
    Loop
    Application.ScreenUpdating = True
    End Sub
    






  • di patel data: 22/12/2016 16:49:26

    difficile risponderti senza avere il file, se ti funziona lo sai tu.
    Non sembra corrispondere alla tua domanda iniziale, al contrario della macro di alfrimpa





  • di alfrimpa data: 22/12/2016 17:42:25

    Io mi sono attenuto strettamente a quanto rappresentato da Beppe.

    Ho provato su tre file e tutto funziona correttamente.

    Alfredo





  • di patel data: 22/12/2016 17:55:04

    forse mi sono espresso male, la tua macro Afredo corrisponde alla richiesta iniziale, al contrario di quella proposta da Beppe





  • di alfrimpa data: 22/12/2016 17:58:17

    Andrea ma non dicevo certamente a te; il tuo post è chiarissimo.

    Alfredo