file riepilogo da più files



  • file riepilogo da più files
    di andreaxg1 data: 23/10/2014 08:55:31

    Salve, avrei bisogno di un aiuto, credo che serva una macro. In una stessa cartella ho N files e vorrei creare un file "riepilogo" con i dati di tutti gli altri files, che hanno tutti una stessa struttura ma numero di righe variabili. Intanto allego i files di esempio. Le mie esigenze quali sono?
    1. che, come vedete, nel file "riepilogo" ci siano riassunti i dati di tutti i files della cartella
    2. che il file "riepilogo" si modifichi quando modifico qualsiasi dato di un qualsiasi file della cartella e quando aggiungerò nuovi files
    3. che nella prima colonna del file "riepilogo", come vedete, appaia il nome del file
    Per ora grazie e a presto



  • di lepat (utente non iscritto) data: 23/10/2014 09:49:24

    credo che il punto 2 sia un po' troppo ambizioso, a meno che tu ogni tanto, quando vuoi aggiornare, lanci la macro



  • di andreaxg1 data: 23/10/2014 10:01:02

    Infatti temevo che l'aggiornamento in tempo reale fosse quasi impossibile, quindi ci sto anche a fare che lancio la macro e si aggiorna il tutto, l'importante è che non succeda che ogni volta che lancio la macro si moltiplichino i dati, cioè quelli vecchi rimangono e si aggiungono i nuovi, o meglio ogni volta cancella tutto e ricopia tutto



  • di lepat (utente non iscritto) data: 23/10/2014 13:07:52

    non mi è chiara la tua ultima richiesta



  • di andreaxg1 (utente non iscritto) data: 23/10/2014 13:24:56

    cerco di chiarire. Capisco che l'aggiornamento in tempo reale è impossibile e mi va bene lanciare ogni volta la macro



  • di lepat (utente non iscritto) data: 23/10/2014 17:39:37

    prova questa macro, con tutti i file nella stessa cartella
     
    Sub BigMerge()
    Set destWB = ActiveWorkbook
    Dim DestCell As Range
    mfolder = ThisWorkbook.Path & ""
    strFile = Dir(mfolder & "*.xls")
    Do While strFile <> ""
      Set wb = Workbooks.Open(Filename:=mfolder & strFile, ReadOnly:=True)
      With Sheets(1)
         LR = destWB.Sheets(1).Cells(Rows.Count, "F").End(xlUp).Row
         .UsedRange.Copy
         destWB.Sheets(1).Cells(LR, 1).PasteSpecial xlPasteFormats
         destWB.Sheets(1).Cells(LR, 1).PasteSpecial xlPasteValuesAndNumberFormats
      End With
      Application.CutCopyMode = False
      wb.Close savechanges:=False
      strFile = Dir
    Loop
    End Sub



  • di lepat (utente non iscritto) data: 23/10/2014 19:27:34

    se li vuoi in ordine devi utilizzare nomi del tipo MAG 1 - 2 2014 e non MAG 1 - feb 2014
    se elimini gli spazi è meglio.