Condividi:        

Importare una lista di file excel in una sola tabella

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

Importare una lista di file excel in una sola tabella

Postdi FabioGE » 03/10/08 11:03

BUONGIORNO A TUTTI,
vi disturbo per chiedere il vostro prezioso aiuto perche sono disperato

Ho una lista di flie da 1 a 1480 tutti uguali i cui
ciamati 1.xls fino a 1480.xls

cerco di importare in una sola grande tabella excel

le righe:
46
61
78
102
108

e le colonne dalla a alla x
di ogni file

purtroppo sono veramente scarso con excel...

Vi prego di aiutarmi son disperato...
grazie
FabioGE
Newbie
 
Post: 6
Iscritto il: 03/10/08 10:50

Sponsor
 

Re: Importare una lista di file excel in una sola tabella

Postdi Tribuno » 03/10/08 11:48

Ciao e benvenuto nel forum,

hai provato a dare un'occhiata alla seguente discussione http://www.pc-facile.com/forum/viewtopic.php?f=26&t=75455?
È un inizio, sicuramente da quella discussione possiamo trarre indicazioni utili.

Ciao
Tribuno
Avatar utente
Tribuno
Utente Senior
 
Post: 181
Iscritto il: 22/08/08 19:24

Re: Importare una lista di file excel in una sola tabella

Postdi Tribuno » 03/10/08 11:56

Ah, mi sono dimenticato di chiedere:
- la tabella in cui copiare i vari dati è su altro file diverso da 1.xls a 1480.xls?
- i file 1.xls:1480.xls sono tutti nella stessa directory?
- i dati da copiare nella tabella come deveono essere strutturati? Cioé le prime 5 righe della tabella riepilogativa deve contenere le righe 46, 61,78,102 e 108 del foglio 1.xls, le righe dalla 6 alla 10 della tabella le medesime righe di 2.xls e così via, per un totale di 1480*5 = 7.400 righe?
- oltre la colonna X ci sono altri dati?

Ciao
Tribuno
Avatar utente
Tribuno
Utente Senior
 
Post: 181
Iscritto il: 22/08/08 19:24

Re: Importare una lista di file excel in una sola tabella

Postdi FabioGE » 03/10/08 12:52

Grazie mille per l'interessamento...

-la tabella vorrei crearla su un file diverso ai 1480 files.
- i file sono tutti nella stessa cartella
la tabella deve strutturata che nella posizione (1,1)ce la riga 46 poi terminata tutta la riga 46 ci sono i dati della 61 e cosi via...nella seconda riga ci sono gli stessi dati ma del file numero 2

- prima della colonna A vorrei mettere altri dati di excel essendo la tabella un output, i dati che vorrei mettere prima sono input.

Grazie
FabioGE
Newbie
 
Post: 6
Iscritto il: 03/10/08 10:50

Re: Importare una lista di file excel in una sola tabella

Postdi FabioGE » 03/10/08 12:55

mi sono dimenticato di dire che i dati per le diverse righe(46 61 78 102 108) li ho in anni ed essendo 20 anni devo importarli dalla colonna a alla x se voi esperti di computer riusciste a importarli gia sommati in riga per me sarebbe perfetto...

verrebbe cosi a crearsi una tabella con 1480 righe e sole 5 colonne...


Grazie davvero se mi aiutate
FabioGE
Newbie
 
Post: 6
Iscritto il: 03/10/08 10:50

Re: Importare una lista di file excel in una sola tabella

Postdi Tribuno » 03/10/08 13:25

Ancora un piccolo dubbio, prima mi dici che vuoi importare i dati inserendoli nel Riepilogo a partire dalla cella A1, poi mi dici che prima della colonna A vuoi mettere altri dati, allora non sarebbe meglio partire, ad esempio, dalla colonna B (o C o D ecc.)? Infine i dati che vuoi importare sono numeri ed in fin dei conti ti interessa la somma di ogni singola riga piuttosto che tutti i dati (se partiamo da A1, in A1 somma riga 46 file 1.xls, in B1 somma riga 61 di 1.xls, in C1 somma riga 78 di 1.xls, in D1 somma riga 102 di 1.xls, in E1 somma riga 108 di 1.xls, in A2 somma riga 61 di 2.xls, e così via). Ho interpretato correttamente?

Ciao
Tribuno
Avatar utente
Tribuno
Utente Senior
 
Post: 181
Iscritto il: 22/08/08 19:24

Re: Importare una lista di file excel in una sola tabella

Postdi FabioGE » 03/10/08 13:35

si hai pienamente ragione...

- possiamo partire dalla colonna H (cosi ho la possibilita' di mettere i dati in input dalla a alla g)

- per quanto riguarda il resto ha interpretato molto correttamente sono numeri e quello che mi interessa fare e' esattamente quanto scritto da te
FabioGE
Newbie
 
Post: 6
Iscritto il: 03/10/08 10:50

Re: Importare una lista di file excel in una sola tabella

Postdi FabioGE » 03/10/08 13:37

Ps
Grazie mille il tuo interessamento e' davvero prezioso.
FabioGE
Newbie
 
Post: 6
Iscritto il: 03/10/08 10:50

Re: Importare una lista di file excel in una sola tabella

Postdi Tribuno » 03/10/08 14:17

Questa macro dovrebbe fare quello di cui hai bisogno
Codice: Seleziona tutto
Dim TabRiep As Object, Nwfl As Object
Dim Direct As String, FL As String, Pathfile As String
Dim TotFile As Integer, UltRig As Integer, I As Integer, Y As Integer, Z As Integer, Tot As Integer

Sub Trasferisci_Dati_FabioGE_con_somma()
Dim Righe(4)
Righe(0) = 46
Righe(1) = 61
Righe(2) = 78
Righe(3) = 102
Righe(4) = 108
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Direct = "C:\PERCORSO\" '<=== Da inserire il percorso dove sono ubicati i file 1.xls, ecc. (es. C:\Documents and Setings\Utente\Miei File\)
Set TabRiep = Workbooks("Tabella_FabioGE.xls").Worksheets("Riepilogo")'<<<-----
TotFile = Workbooks("Tabella_FabioGE.xls").Worksheets("File").Range("A65536").End(xlUp).Row'<<<-----
UltRig = 0
For I = 1 To TotFile
FL = Sheets("File").Cells(I, 1).Value & ".xls"
Pathfile = Direct & FL
Workbooks.Open Filename:=Pathfile
Tot = 0
Set Nwfl = Workbooks(FL).Worksheets("Foglio1")'<<<----->>>
For Y = 1 To 5
    For Z = 1 To 20
        Tot = Tot + Nwfl.Cells(Righe(Y - 1), Z).Value
    Next Z
    TabRiep.Cells(UltRig + 1, Y + 7) = Tot
Next Y
UltRig = Workbooks("Tabella_FabioGE.xls").Worksheets("Riepilogo").Range("H65536").End(xlUp).Row '<<<-----
Workbooks(FL).Close SaveChanges:=False
Next I
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Io ho creato un file xls chiamato Tabella_FabioGE.xls, composto da due fogli: il primo l'ho chiamato Riepilogo, il secondo File. Nella macro devi cambiare, dove c'è '<<<-----, il nome del tuo file riepilogativo con quello che ho indicato io, i fogli, almeno i primi due, devi lasciarli invariati, se li cambi devi andare a modificarne i nomi nei punti dove ci sono Riepilogo e File.
Dove c'è '<<<----->>> devi cambiare il nome del foglio come l'ho hai denominato in 1.xls e negli altri (nel mio si chiama Foglio1).
Dove c'é '<=== devi scrivere, al posto di C:\PERCORSO\, il tuo percorso dove hai tutti i file da 1.xls a 1480.xls (attenzione, il percorso deve termianre con il simbolo \).
Nel foglio File scrivi 1 nella cella 1, A1+1 nella cella A2, poi trascini fino alla riga 1480, quindi in A1480 ti troverai il numero 1480.

Seleziona la macro, copiala, apri l'editore di VBA (Alt+F11, Inserisci modulo, sul frame di destra incolla la macro, con Alt+F11 ritorni al tuo foglio excel reipilogativo)

A questo punto fai partire la macro (Strumenti--->Macro---Macro, oppure Alt+F8), scegli la macro Trasferisci_Dati_FabioGE_con_somma, Esegui, e vedi il risultato.

Una raccomandazione: effettua sempre copie di backup dei file, per evitare eventuali perdite di dati, anche se come è stata strutturata la macro i file 1.xls:1480.xls vengono aperti, copiati e poi chiusi, senza alterarne i dati.

Prova e fai sapere se va bene. Non farti scrupolo per altre domande.

Ciao
Triubno
Avatar utente
Tribuno
Utente Senior
 
Post: 181
Iscritto il: 22/08/08 19:24

Re: Importare una lista di file excel in una sola tabella

Postdi FabioGE » 03/10/08 15:59

Ciao Tribuno,
Ho un problema, ho scoperto che i file non sono piu 1480 o 1548 e' un problema?

perche ho effettuato tutto come mi hai detto tu ma mi da un errore di debug nelle righe dei comandi

SET TABRIEP
TOTFILE

scusa il disturbo grazie
FabioGE
Newbie
 
Post: 6
Iscritto il: 03/10/08 10:50

Re: Importare una lista di file excel in una sola tabella

Postdi Tribuno » 03/10/08 16:16

Ciao Fabio,
no, se i file sono 1548 non ci sono problemi, l'importante è che in colonna A del foglio "File" del file riepilogativo (quello che io ho chiamato Tabella_FabioGE.xls) trascini le celle fino alla riga 1548.

Per quanto riguarda l'errore di debug, come si chiama il tuo file dove ci sarà la tabella riepilogativa? Quanti fogli ha? Come si chiamano?
Attenzione, devi mettere il nome del file, racchiuso tra virgolette, comprensivo dell'estensione .xls, i nomi dei fogli li devi sempre mettere racchiusi tra virgolette.

Ciao
Tribuno
Avatar utente
Tribuno
Utente Senior
 
Post: 181
Iscritto il: 22/08/08 19:24

Re: Importare una lista di file excel in una sola tabella

Postdi Anthony47 » 03/10/08 17:26

Ciao a tutti,
nel caso che l' operazione sia una tantum, potrebbe essere utile anche la seguente procedura, che non usa macro:
-in una cella libera del foglio riepilogo (es F1), scrivi la directory in cui si trovano i files, preceduta dai segni #('; es
Codice: Seleziona tutto
#('C:\Documents and Settings\Utente-1\Documenti\

-da A2 in giu' scrivi la serie 1, 2, 3, etc (scrivi 1 in A2, in A3 scrivi =A2+1 e poi copi questa formula in basso quanto basta)
-su H1:L1 scrivi le righe da importare, quindi 46, 61, 78, 102 e 108 (un valore per cella)
-in H2 inserisci la formula
Codice: Seleziona tutto
=$F$1&"["&$A2&".xls]Foglio1'!"&"A"&H$1&":X"&H$1&")"

-copia questa formula fino ad L2, poi copia H2:L2 in basso per quanti nomi files hai inserito
-copia inoltre H2 su una cella libera, es Q2; sara' la formula di riserva.
-seleziona tutta l' area con queste formule (eccetto Q2), es H2:L1500; fai Contr-c (copia), e subito Menu /Modifica /Incolla speciale, spunta "Valori", Ok.
-sempre con la stessa selezione, Contr-maiusc-t (cerca); segna come stringa da trovare il carattere #; vai sul tab Sostituisci, e scrivi "=somma" (senza gli apici)
-premi Sostituisci tutto
Fine.

In questo modo le celle non contengono piu' formule generiche, ma specializzate per il Foglio1 del file di col A, le righe definite in H1:L1, le colonne A:X; dovresti ora vedere il risultato della somma.
Nel caso che il processo sia da ripetere, copiare in H2:L2 la formula "di riserva" (quella messa in Q2) e ripetere le operazioni.

Ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Importare una lista di file excel in una sola tabella

Postdi Tribuno » 03/10/08 18:17

Due precisazioni:

nel mio codice c'è un errore, è necessario sostituire il n. 20 con il n. 24, altrimenti la somma non è corretta:
Codice: Seleziona tutto
For Y = 1 To 5
    For Z = 1 To 20 '<===== sostituire 20 con 24
        Tot = Tot + Nwfl.Cells(Righe(Y - 1), Z).Value
    Next Z
    TabRiep.Cells(UltRig + 1, Y + 7) = Tot


con la soluzione di Anthony, visto che Fabio ha la necessità di avere un foglio riepilogativo con solo i dati sommati dei vari file, utilizzerei il secondo foglio File per inserire, oltre al numero progressivo dei file, le righe interessate, il percorso e la formula.

Quindi nel foglio File:
- colonna A, A1=1, A2=A1+1, trascinare A2 fino alla riga 1580
- cella F1 inserire il percorso come indicato da Anthony (#('C:\Documents and Settings\Utente-1\Documenti\
- celle da H1 a L1 le righe da importare
- nella cella Q1 scrivere #File!$F$1&"["&File!$A1&".xls]Foglio1'!"&"A"&File!H$1&":X"&File!H$1&")

nel foglio Riepilogo
- copiare la cella Q1 del foglio File nella cella H1
- sostituire # con =
- proseguire con le istruzioni di Anthony

Ciao
Tribuno
Avatar utente
Tribuno
Utente Senior
 
Post: 181
Iscritto il: 22/08/08 19:24

Re: Importare una lista di file excel in una sola tabella

Postdi Anthony47 » 03/10/08 18:45

Non l' ho detto, ma alla fine del processo che ho descritto la colonna A puo' essere cancellata, come pure le celle H1:L1.
Questo potrebbe forse rendere inutile l' uso di due fogli diversi.
Inoltre, i dati sommati [possono essere /rischiano di essere] aggiornati tutte le volte che si apre il file riepilogo (dipende da cosa si risponde alla domanda sull' aggiornamento dei "collegamenti").

Ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Importare una lista di file excel in una sola tabella

Postdi gino giosuè virgolesi » 25/05/09 07:34

buon giorno a tutti vedo che siete molto efficienti uso il vostro blog da qualche giorno
volevo un aiuto : premeto non so nulla del vb quindi mi serve un aiuto concreto
io ho un foglio calcolo molto molto complesso e da questo foglio ne faccio altri simili ma con varianti diverse
e quindi ogni foglio viene reggistrato in una cartella imbase ai clienti
leggendo il vostro blog volevo fare in modo di creare una tabella riepilogativa ma non ho capito un granche chi mi aiuta :oops: :aaah
gino giosuè virgolesi
Utente Junior
 
Post: 15
Iscritto il: 25/05/09 07:25

Re: Importare una lista di file excel in una sola tabella

Postdi nicholas » 25/05/09 12:14

ciao, le cartelle si chiamano 1,2,3,.....,200 e ciascuna è costituita da un solo foglio che si chiama empre Foglio1.
è fattibile?
graziie iao :oops:
tutto è scritto, nulla è casuale. ma sarà la vita ad insegnarci a leggere!
nicholas
nicholas
Utente Senior
 
Post: 102
Iscritto il: 18/05/09 13:33

Re: Importare una lista di file excel in una sola tabella

Postdi gino giosuè virgolesi » 25/05/09 12:33

mi puoi aiutare
sono in molta difficolta io ho : un file con vari fogli
che devono esere sempre uguali come formule ma varianti diverse
i figli sono :
foglio calcolo
foto modello
foglio inserimento dati
acessori
tessuti
fasonisti
garfico
io devo prendere le seguenti celle dal foglio inserimento dati e portarle in un file riepilogativo
le celle sono :
H10;H12;H14;U89;E156
QUESTE VERRANO SEMPRE MODIFICATE DA VARI CALCOLI
gino giosuè virgolesi
Utente Junior
 
Post: 15
Iscritto il: 25/05/09 07:25

Re: Importare una lista di file excel in una sola tabella

Postdi Anthony47 » 26/05/09 01:42

Ciao ggv e benvenuto nel foum.
Mi pare che hai tanti file con stessa struttura dati e vuoi riportare su un Riepilogo alcune celle di ogni file.
Hai gia' letto questo post, 6 messaggi fa: viewtopic.php?f=26&t=75664&p=457943#p429613 ?
Descrive come mettere in alcune celle le formule che importeranno i valori che cerchi.
Il metodo prevede:
-un elenco di nomi file da A2 verso il basso
-la directory principale in F1 (leggi attentamente il messaggio in link)
-in H1:L1 "le righe da importare"; nel tuo caso saranno le celle da importare
-una formula che crea una stringa nelle celle dove alla fine importeremo i dati; nel tuo caso la formula sara'
Codice: Seleziona tutto
=$F$1&"["&$A2&".xls]Inserimento dati'!"&"A"&H$1&")"
e la inserirai in H2
-poi copi H2 fino a L2
-poi copi H2:L2 verso il basso per quanti nomi file hai in col A
-copia H2 anche in Q2 (formula di riserva)
-copia + incolla/speciale/valori (vedi messaggio linkato)
-trova e sostituisci, per sostituire # con = (vedi messaggio linkato)

Per nicholas: esattamente lo stesso processo, ma la tua formula sara'
Codice: Seleziona tutto
=$F$1&"["&$A2&".xls]Foglio1'!"&"A"&H$1&")"

(e' pero' meglio che continuiamo sull' altra discussione che hai aperto, viewtopic.php?f=26&t=80481)

Prova e fai sapere.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Importare una lista di file excel in una sola tabella

Postdi Anthony47 » 26/05/09 15:51

Per ggv: il percorso in F1 deve terminare con "\", es F:\produzione\SCHEDE TAGLIATE\enzo\

Posta qui i messaggi relativi alla tua questione.

Ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Importare una lista di file excel in una sola tabella

Postdi gino giosuè virgolesi » 27/05/09 08:05

ANTHONY SCUSA IL DISTURBO NON MI DIRE NIENTE MI PUOI SPIEGARE LA PROCEDURA DA CAPO
COSI NON MISCHIO LA MIA CON QUELLA DI NICOLAS
E SEMPLICE MA NON RIESCO A FARLA GRAZIE
gino giosuè virgolesi
Utente Junior
 
Post: 15
Iscritto il: 25/05/09 07:25

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Importare una lista di file excel in una sola tabella":


Chi c’è in linea

Visitano il forum: Nessuno e 73 ospiti