Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

file riepilogo con dati da più files

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

file riepilogo con dati da più files

Postdi andreaxg1 » 23/10/14 12:12

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. Approposito si possono allegare files di esempio? Le mie esigenze quali sono?
1. che 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" appaia il nome del file dal quale pesca i dati
Per ora grazie e a presto
andreaxg1
Utente Junior
 
Post: 16
Iscritto il: 15/10/14 14:43

Sponsor
 

Re: file riepilogo con dati da più files

Postdi ricky53 » 23/10/14 15:05

Ciao,
per allegare un file: LEGGI QUI

Tu che conoscenze hai del VBA?

Hai già fatto una ricerca nel forum?
A memoria l'argomento è stato trattato più volte

Anche in rete, cercando con Google, troverai degli esempi validi sui quali lavorare per produrre quello che ti occorre.

Per i tuoi punti "1" e "3" dovresti trovare del materiale utile

Sul punto "2" ci ragionerei per capire perchè hai scelto questa strada e non quella di rilanciare il codice (quello che si produrrà) e controllare che i file siano stati già copiati o ... semplicemente se i file non sono tanti e le righe non di numero eccessivo RIELABORARE TUTTI I FILE ... ma ragioniamoci su insieme


In rete ho trovato questo codice
Codice: Seleziona tutto
Sub MergeSelectedWorkbooks()
    Dim Ws_Out As Worksheet
    Dim Percorso As String
    Dim File_Selezionati() As Variant
    Dim Num_Riga As Long
    Dim FileName As String
    Dim NFile As Long
    Dim WB As Workbook
    Dim Intervallo_In As Range
    Dim Intervallo_Out As Range
   
    Set Ws_Out = ActiveWorkbook.Sheets(1)
   
    Percorso = "D:\Temp"
    ChDrive Percorso
    ChDir Percorso
    File_Selezionati = Application.GetOpenFilename( _
        filefilter:="Excel Files (*.xl*), *.xl*", MultiSelect:=True)
   
    Num_Riga = 1
    For NFile = LBound(File_Selezionati) To UBound(File_Selezionati)
        FileName = File_Selezionati(NFile)
        Set WB = Workbooks.Open(FileName)
        Ws_Out.Range("A" & Num_Riga).Value = FileName
        Set Intervallo_In = WB.Worksheets(1).Range("A1:Z100") ' <<===== Intervallo dati del "PRIMO FOGLIO" da copiare
        Set Intervallo_Out = Ws_Out.Range("B" & Num_Riga)
        Set Intervallo_Out = Intervallo_Out.Resize(Intervallo_In.Rows.Count, _
           Intervallo_In.Columns.Count)
        Intervallo_Out.Value = Intervallo_In.Value
        Num_Riga = Num_Riga + Intervallo_Out.Rows.Count
        WB.Close savechanges:=False
    Next NFile
    Ws_Out.Columns.AutoFit
End Sub


Vengono copiati i dati dei file excel selezionati ma solo quelli del PRIMO FOGLIO dell'intervallo "A1:Z100"
Si può agire sul codice per adattarlo alle tue esigenze
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: file riepilogo con dati da più files

Postdi andreaxg1 » 23/10/14 16:04

la mia conoscenza di VBA è molto scarsa. Ho fatto delle ricerche in rete ma sinceramente non ho trovato niente di efficace per la raccolta dei dati di vari file in uno unico. Per il punto 2 ripensandoci mi basta che la macro copi i dati di tutti i file, quando modificherò qualche file esistente o ne aggiungerò di nuovi cancellerò il riepilogo e rilancerò la macro, in modo da non avere duplicazioni e avere i dati sempre aggiornati. Naturalmente se ci fosse un sistema per automatizzare questi passaggi sarebbe più comodo. Il percorso è questo:
-creazione del file RIEPILOGO
-periodicamente verranno creati vari file, ognuno dei quali con N righe, qualche mese saranno di più e qualche mese saranno di meno
-ogni volta che si creano nuovi file nel file RIEPILOGO compariranno tutte le righe fino a li create nei file precedenti più quelle del nuovo file, semplicemente incolonnate una dietro l'altra
-quindi supponiamo di avere 5 file, il primo con 6 righe, il 2° con 12, il 3° con 34, il 4° con 23 e il 5° con 15. Il file RIEPILOGO avrà nel foglio1 una semplice lista di 90 righe, la cosa importante è che compaia anche da quale file arrivano (le prime 6 dal primo file, le seconde 12 dal secondo e così via)

Appena DROPBOX finirà di caricare nella cartella pubblica il file che volevo allegare ti scriverò il link

Per ora grazie
andreaxg1
Utente Junior
 
Post: 16
Iscritto il: 15/10/14 14:43

Re: file riepilogo con dati da più files

Postdi andreaxg1 » 23/10/14 16:18

fermo fermo fermo........ho provato il tuo codice e quasi ci siamo........ora devo andare ma domani approfondiamo perchè ci siamo vicini........per ora grazie!
andreaxg1
Utente Junior
 
Post: 16
Iscritto il: 15/10/14 14:43

Re: file riepilogo con dati da più files

Postdi ricky53 » 23/10/14 16:37

Ciao,
al codice che ti ho inviato va aggiunto, in colonna "A", il nome del file da cui i dati provengono ... cosa facile da fare.

A presto.

Ricordati di riportare negli altri forum, dove hai inserito lo stesso quesito, la soluzione trovata ... quando ci arriverai !!!
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: file riepilogo con dati da più files

Postdi andreaxg1 » 23/10/14 16:41

andreaxg1
Utente Junior
 
Post: 16
Iscritto il: 15/10/14 14:43

Re: file riepilogo con dati da più files

Postdi ricky53 » 23/10/14 23:42

Ciao,
regola generale: MAI organizzare i dati con una colonna avente un valore in un sola riga come hai fatto tu in colonna "A" del file Riepilogo. Le intestazioni delle colonne NON devono essere ripetute
In questo modo NON potranno essere elaborati !!!

Le stesse considerazioni valgono per i fogli "Conteggi" dei vari file.

I dati devono essere in forma tabellare con tutte le celle con valori, per esempio il tuo file di riepilogo deve essere strutturato nel modo seguente
Immagine
Ho riportato solo i dati di due file.

Se posso un consiglio: Io avrei semplificato il tutto lavorando su un unico file con tutti i dati dei vari magazzini e movimentazioni varie su un foglio unico con i dettagli delle varie operazioni con i clienti ed alla fine avrei elaborato i dati utilizzando una tabella pivot e ... ovviamente dovresti riorganizzare tutto il tuo lavoro ... fatica iniziale ma guadagno rilevante nel lungo termine
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: file riepilogo con dati da più files

Postdi andreaxg1 » 24/10/14 12:55

Ciao, prendo nota del fatto che tutto deve essere in forma tabellare senza celle vuote. Sul fatto del tenere tutto su un unico file questo sarebbe scomodo, perchè come vedi ogni "mese" si porta dietro un foglio "conteggi" e un foglio "altre" e potrebbero aumentare in base alle esigenze di quel mese, quindi poi avrei un file con minimo 12x3=36 fogli che dovrei nominare per esempio "gen 2014" poi "conteggi gen 2014" poi "altre gen 2014" poi "feb 2014" poi "conteggi feb 2014" ecc ecc e secondo me si creerebbe un file grande macchinoso e scomodo da scorrere e analizzare a video. Piuttosto approfitto della tua sagacia per chiederti di aiutarmi a trovare un sistema più rapido e flessibile per collegare il foglio "TOTALE mese" con il foglio "conteggi". Ora io uso il sistema di creare, nel foglio "conteggi", tante piccole tabelle quante sono le righe del foglio "TOTALE mese", poi dico alle celle delle tabelline del foglio conteggi di copiarsi i dati dalla riga corrispondente del foglio "TOTALE mese", e alla cella della quantità della riga del foglio "TOTALE mese" di copiarsi il valore totale della tabellina del foglio "conteggi". Ogni volta queste operazioni lunghe con il rischio di sbagliare e di avere poi dei dati falsi. Insomma, ogni riga del foglio "TOTALE mese" ha una sua tabellina in "conteggi" dalla quale prende il totale, e ogni tabellina in "conteggi" copia i dati anagrafici dalla riga del "TOTALE mese", come possiamo fare per non svernare? Il massimo sarebbe che ogni volta che creo una riga in "TOTALE mese" si creasse automaticamente una sua tabellina in "conteggi", con i dati corrispondenti, e a sua volta la cella della quantità della riga del "TOTALE mese" prendesse il relativo valore dalla sua tabellina collegata. Cancello la riga, sparisce anche la sua tabellina, nuova riga, nuova tabellina, e così via
andreaxg1
Utente Junior
 
Post: 16
Iscritto il: 15/10/14 14:43

Re: file riepilogo con dati da più files

Postdi ricky53 » 24/10/14 13:50

Ciao,
io intendevo dire di ELIMINARE TUTTI gli ALTRI FOGLI e di avere UN SOLO FOGLIO con i dati e poi ... a tutta PIVOT per ottenere le elaborazioni che vuoi !!!

Il tuo caso rientra agevolmente in quanto io ti ho proposto quello che è molto importante è la struttura dei dati della tabella poi potrai elaborare come meglio credi ... proprio con le pivot.

Questo è il mio consiglio .. poi vedi tu.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: file riepilogo con dati da più files

Postdi andreaxg1 » 24/10/14 16:02

Ci penso, come hai detto tu devo entrare in una ottica di strutturare i dati in funzione delle elaborazioni che devo fare e non in funzione dell'aspetto estetico e del layout di stampa. Cercherò di imparare. Sul fatto di rendere più flessibile e rapido il collegamento (riga-tabella con i conteggi relativi) ti viene in mente qualche idea?
andreaxg1
Utente Junior
 
Post: 16
Iscritto il: 15/10/14 14:43

Re: file riepilogo con dati da più files

Postdi ricky53 » 24/10/14 16:11

Ciao,
mi ero già espresso: PIVOT !
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: file riepilogo con dati da più files

Postdi andreaxg1 » 24/10/14 16:20

non ho capito, il funzionamento è questo: inserisco l'articolo, per esempio TUBO IN PVC, che ha il codice 03 e costa 20,00 €/m. Poi vado nella tabella relativa e inserisco le misure, potrebbero essere anche 60 righe e diciamo che alla fine il totale viene 675,30 m. Nella riga quindi risulterà, con il codice 03 il TUBO IN PVC che costa 20,00 €/m e per un totale di 675,30 m il costo è di 13506,00 €. E così via per tutti i movimenti di quel mese, che saranno un numero qualsiasi e le relative tabelle dei conteggi avranno un numero qualsiasi di righe con le misure . In che modo le tabelle PIVOT potrebbero aiutarmi?
andreaxg1
Utente Junior
 
Post: 16
Iscritto il: 15/10/14 14:43

Re: file riepilogo con dati da più files

Postdi ricky53 » 25/10/14 00:03

Ciao,
mi ripeto: devi abbandonare l'attuale struttura con più fogli ed utilizzare un solo foglio dove inserisci i dati (avrai in un altro foglio la corrispondenza tra codice, descrizione e costo unitario, con poche formule (CERCA.VERT) inserito un codice avrai la descrizione e il costo unitario riportati nel fogli di lavoro, inserirai i metri ordinati ed avrai il costo totale e poi elabori, in base a quello che ti occorre, mediante una PIVOT.

Altro non saprei scrivere per farmi capire. Non ho molto tempo, vedo se posso costruirti un esempio ... non garantisco ma ci provo.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: file riepilogo con dati da più files

Postdi andreaxg1 » 27/10/14 11:18

Buongiorno, in attesa di mettere a punto la strategia che mi consigli e di ricevere il tuo esempio, ti chiedo di aiutarmi a mettere a punto la macro che mi ha suggerito in precedenza. Attualmente la macro, per ogni file, copia il range A1:Z100 del primo foglio. A me serve che copi il range A1:F140 del secondo foglio, e queste modifiche le ho già fatte e funzione. Le richieste che ti faccio di seguito probabilmente sono superflue, basterebbe eliminare e aggiungere righe e colonne a mano e cambiare formati a mano nel FILE "riepilogo" dopo aver lanciato la macro per avere il risultato voluto, comunque ti chiedo se è possibile:
1. nel foglio di destinazione (nel FILE "riepilogo") dopo lanciata la macro appare in colonna A e solo sulla prima riga il nome del FILE di origine. come hai detto tu sarebbe opportuno averlo in colonna A su tutte le righe dell'elenco
2. i formati delle celle dopo la macro sono casuali, è possibile conservare i formati delle celle di origine? Per esempio gli importi con il formato valuta, i numeri con il formato numero e i 2 decimali ecc
3. nei file di origine come abbiamo visto c'è una lista di movimenti e alla fine il totale. Dopo la macro ovviamente appare anche il totale, che nel file "riepilogo" non serve
4. tu giustamente dici che le intestazioni delle colonne non devono essere ripetute (cod. descrizione u.m. quantità ecc) ma è possibile averle almeno in cima alle colonne una volta soltanto all'inizio della lista?
5. quando lancio la macro nel foglio del riepilogo ci sono parecchie righe vuote tra una lista di un FILE e quella del FILE successivo, è possibile eliminarle e avere una serie verticale continua e senza righe vuote?
Per ora basta così, carico qualche altro conteggio e vedo la macro come si comporta
andreaxg1
Utente Junior
 
Post: 16
Iscritto il: 15/10/14 14:43

Re: file riepilogo con dati da più files

Postdi ricky53 » 27/10/14 13:21

Ciao,
invia l'ultima versione della macro.

Se hai cambiato qualcosa nei dati dei file dovresti inviare anche i nuovi file.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: file riepilogo con dati da più files

Postdi andreaxg1 » 27/10/14 14:52

https://www.dropbox.com/s/42vpajxkddhzqtc/SALL.rar?dl=0

come vedi nel file "riepilogo" c'è la macro leggermente modificata per andare a prendere i dati del 2° foglio dei file contabilità e in un range A5:F140, il problema è che fino a F140 potrebbero esserci dati ma non è detto che ci siano, quindi nel riepilogo ci infila tutte le righe vuote. In più i dati che riporta come ti ho detto sono formattati in modo diverso
andreaxg1
Utente Junior
 
Post: 16
Iscritto il: 15/10/14 14:43

Re: file riepilogo con dati da più files

Postdi ricky53 » 27/10/14 17:13

Ciao,
prova con
Codice: Seleziona tutto
'        Set Intervallo_In = WB.Worksheets(2).Range("A5:F140") ' <<===== DA ELIMINARE !!!
        UR = WB.Worksheets(2).Range("A" & Rows.Count).End(xlUp).Row ' <<===== AGGIUNTA
        Set Intervallo_In = WB.Worksheets(2).Range("A5:F" & UR) ' <<===== MODIFICATA


per gestire il numero di righe variabili

Cambia
Codice: Seleziona tutto
    Num_Riga = 1


con
Codice: Seleziona tutto
Num_Riga = 2


Ricordati di scrivere le intestazioni delle colonne prima/dopo l'esecuzione della macro
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: file riepilogo con dati da più files

Postdi andreaxg1 » 27/10/14 17:54

Ci siamo, ti ringrazio. Alcune celle però conservano la formattazione di origine e alcune no, non capisco perchè
andreaxg1
Utente Junior
 
Post: 16
Iscritto il: 15/10/14 14:43

Re: file riepilogo con dati da più files

Postdi andreaxg1 » 28/10/14 13:55

Ho riprovato e sembra funzionare tutto, anzi funziona tutto. Come ti avevo detto, nella prima colonna del riepilogo appare il nome del file di origine, e questo va bene però appare solo sulla prima riga della lista, in quelle successive c'è la cella vuota. Nell'ottica dell'elaborazione dei dati con PIVOT non ci devono essere celle vuote, e devo andare a riempirle io manualmente con il trascinamento, niente di scandaloso ma se la macro lo facesse in automatico sarebbe la ciliegina sulla torta
andreaxg1
Utente Junior
 
Post: 16
Iscritto il: 15/10/14 14:43

Re: file riepilogo con dati da più files

Postdi ricky53 » 28/10/14 14:38

Ciao,
invia l'ultima versione della tua macro e ... ci provo
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "file riepilogo con dati da più files":


Chi c’è in linea

Visitano il forum: patel e 5 ospiti