Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Riepilogo dati da fogli excel diversi

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Riepilogo dati da fogli excel diversi

Postdi desci80 » 23/01/17 17:12

Buongiorno a tutti,
avrei la necessità di creare un file di riepilogo che deve essere popolato quanto più in automatico possibile, importando i dati da altri file excel.
Ogni file Excel contiene un foglio iniziale “riepilogo” da cui devono essere importati i dati nel file di cui sopra.
Alleghiamo il file di esempio "BOZZA RIEPILOGO CONT PIPPO" che rappresenta un singolo conteggio e che a fine anno dovrà contenere 36 fogli ( 1 per mese per 3 aziende AA BB CC ) piu uno di riepilogo che sarà sempre il primo foglio del file, ed avrà la stessa struttura.
Il foglio di riepilogo del conteggio come si puo' vedere dalle formule prende sempre i dati dalle stesse celle di ogni foglio ( M1 - M13), non considerate eventuali formule non corrette per i conteggi che sono da aggiustare ( es. le % sui calcoli )

Il problema a questo punto è di riuscire ad importare in maniera quanto più automatica tutti i riepiloghi dei singoli conteggi agenti nel file che alleghiamo "BOZZA RIEPILOGO PEZZI".
Tutti i singoli conteggio volendo possiamo inserirli all'interno di una singola cartella, una nostra idea era quella di utilizzare un collegamento ipertestuale sulla colonna A ( dove c'è il nome Agente. PIPPO ) per identificare da quale file excel debba andare a recuperare i dati.
come potete vedere la struttura del file BOZZA RIEPILOGO PEZZI riprende la struttura del riepilogo del singolo conteggio.

si accettano suggerimenti.

Qui trovate i link per i due files:

https://www.dropbox.com/s/x8gs3dnayvdm4 ... .xlsx?dl=0

https://www.dropbox.com/s/cegh6czohh66d ... .xlsx?dl=0

grazie mille a chi si prenderà la briga di rispondere
desci80
Newbie
 
Post: 3
Iscritto il: 23/01/17 17:01

Sponsor
 

Re: Riepilogo dati da fogli excel diversi

Postdi Anthony47 » 24/01/17 02:35

Ciao desci80, benvenuto nel forum.
Da quel che capisco si vorrebbe portare periodicamente in un "file" di riepilogo (BOZZA RIEPILOGO PEZZI) il contenuto del "foglio" Riepilogo di un tot di altri file (tipo B, vedi BOZZA RIEPILOGO CONT PIPPO), mantenendo lo stesso layout dei dati con la sola aggiunta del nominativo dell'agente; nominativo che non ho capito se corrisponde al nome dei file tipo B o se va preso ad esempio da cella A4 del secondo foglio.

Si puo' fare con una certa facilita' tramite una macro che esamina uno dopo l'altro tutti i file presenti nella stessa cartella del file di riepilogo; dovresti confermare che quanto detto collima con quanto ti aspetti di dover fare, e che e' corretto che sul file di riepilogo le formule non servono ma vanno importati i valori calcolati sui vari fogli Riepilogo.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 15575
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Riepilogo dati da fogli excel diversi

Postdi desci80 » 24/01/17 09:30

Ciao Anthony47 e grazie per l'interessamento.

Sostanzialmente hai centrato il problema, si tratta di importare ogni mesei dati dal foglio "riepilogo" di ogni singolo file conteggio (i files saranno in tutto circa 180) al corrispondente mese nel file riepilogo pezzi.

Il nome dell'agente non occorre importarlo dal file "conteggio" nel file "riepilogo pezzi" in quanto appunto si trova già indicato nella colonna A e corrisponderà più o meno al nome del file conteggio (più o meno nel senso che ad oggi i file hanno nomi tipo
"pippo_cont_2016.xlsx", pluto_cont_2016.xlsx, etc., ma se dovessere essere necessario possiamo anche modificarli in modo che corrispondano esattamente al nome presente nella colonna A del file "riepilogo pezzi", quindi in questo caso pluto.xlsx, etc.).

Ti confermo inoltre che sul foglio di riepilogo dovranno essere importati soltanto i valori.

Spero di aver risposto chiaramente a tutto..... grazie ancora per l'aiuto
desci80
Newbie
 
Post: 3
Iscritto il: 23/01/17 17:01

Re: Riepilogo dati da fogli excel diversi

Postdi Anthony47 » 25/01/17 01:13

Allora...
Sul file di Riepilogo /foglio di riepilogo elimina tutte le celle unite che hai inserito in colonna A. Fai in modo che il foglio di riepilogo sia in N° 1 (il foglio col nome piu' a sinistra di tutti).
Su riga 1 e riga2 metti le intestazioni, uguali a quelle che si trovano nei file degli agenti.

Inserisci poi questa macro su un modulo standard del vba:
Codice: Seleziona tutto
Sub RiepAgenti()
Dim myF As String, myT As Worksheet, tF As Long
Dim LastC As Long, Last5 As Long, myNext As Long
'
Sheets(1).Select
Sheets(1).Copy After:=Sheets(Sheets.Count)
Sheets(1).Select
Set myT = ThisWorkbook.Sheets(1)
Range(Range("B3"), Range("B3").End(xlDown)).Resize(, 50).ClearContents
myF = Dir(ThisWorkbook.Path & Application.PathSeparator & "*.xls")
    Do While myF <> ""
        If myF <> ThisWorkbook.Name Then
            Workbooks.Open myF, 0, True
                Sheets(1).Select
                LastC = Cells(Rows.Count, "C").End(xlUp).Row: If LastC < 5 Then LastC = 5
                Last5 = Cells(5, Columns.Count).End(xlToLeft).Column: If Last5 < 3 Then Last5 = 3
                myNext = myT.Cells(myT.Rows.Count, "B").End(xlUp).Row + 1
                If myNext < 3 Then myNext = 3
                myT.Cells(myNext, "B").Resize(LastC - 4, Last5 - 2).Value = _
                    Range(Range("C5"), Cells(LastC, Last5)).Value
                myT.Cells(myNext, "A").Resize(LastC - 4, 1).Value = Sheets(2).Range("A4").Value
            ActiveWorkbook.Close False
            tF = tF + 1
        End If
        myF = Dir
    Loop
MsgBox ("Completato, n° file " & tF)
End Sub

Per ottenere cio, partendo da Excel:
-premi Alt-F11 per aprire l'editor delle macro
-Menu /Inserisci /Modulo
-Copia il codice e incollalo nel frame dx del modulo appena creato

Salva il file in formato ".xlsm" (macro enabled)

Quando vuoi importare il file:
-assicurati che nella stessa directory in cui e' salvato il file "riepilogo" siano posizionati tutti i file che vuoi importare. L'importazione avverra' "da zero", cioe' il precedente contenuto del riepilogo viene eliminato (vengono mantenute le interstazioni e le formattazioni); comunque prima della pulizia + importazione il foglio originale viene copiato all'interno dello stesso file, quindi se qualcosa va storto elimina il nuovo foglio di riepilogo e sposta in posizione N°1 il foglio copia.
-avvia la macro RiepAgenti
-premi Alt-F8
-seleziona RIEPAGENTI dall'elenco di macro disponibili
-premi Esegui
A questo punto i vari file dovrebbero aprirsi in sequenza e il loro contenuto essere copiato all'interno del foglio riepilogo, accodandoli uno dopo l'altro.
Come detto, il "nome agente" viene prelavato dal secondo foglio, cella A4
Completa la formattazione delle colonne e salva il file.

Prova e fai sapere
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 15575
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Riepilogo dati da fogli excel diversi

Postdi desci80 » 25/01/17 11:43

Ciao Anthony,

ti ringrazio molto.

La tua soluzione mi sembra ottima, l'unico problema è che ho provato la macro e mi capita uno strano errore.
Se inserisco il tuo codice nel modulo e lancio la macro senza chiudere il file di riepilogo tutto funziona, se salvo il file (ovviamente in formato .xlsm) e lo chiudo, alla riapertura se provo ad eseguire la macro mi dà il seguente errore:

""Errore di run-time '1004':
impossibile trovare il file "pippo_cont.xlsx". Controllare l'ortografia del nome del file e verificare che la posizione del file sia corretta.

Se si sta tentando di aprire il file dall'elenco dei file più recenti, assicurarsi che il file non sia stato rinominato, spostato o eliminato.""

(Naturalmente il file che lui dice di non trovare è nella stessa cartella del file riepilogo da cui lancio la macro)......
Quale può essere il problema secondo te?
desci80
Newbie
 
Post: 3
Iscritto il: 23/01/17 17:01

Re: Riepilogo dati da fogli excel diversi

Postdi Anthony47 » 25/01/17 15:39

Modifica Workbooks.Open myF, 0, True in
Codice: Seleziona tutto
Workbooks.Open ThisWorkbook.Path & Application.PathSeparator & myF, 0, True


Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 15575
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Riepilogo dati da fogli excel diversi":


Chi c’è in linea

Visitano il forum: Nessuno e 35 ospiti