Condividi:        

[EXCEL 2013] Unire più file excel in uno

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

Re: [EXCEL 2013] Unire più file excel in uno

Postdi Flash30005 » 21/01/15 13:12

La struttura dei dati non è proprio omogenea
ma vorrei sapere se tutte le numerazioni che seguono 1, 2, 3 sono già ordinate oppure devono essere ordinate così
inoltre se i totali sono stati aggiunti dopo l'importazione oppure provengono dall'importazione?

Sarebbe opportuno avere i dati appena importati e non aggiustati manualmente altrimenti si incorre in un'analisi errata con conseguente risultato non coerente a quanto ci si aspetta
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Sponsor
 

Re: [EXCEL 2013] Unire più file excel in uno

Postdi enrico43 » 21/01/15 18:58

Ciao, il file è inizialmente generato con il Primus (sw per la contabilità lavori) e poi esportato in Excel, questo fino alla colonna N. Le altre colonne sono aggiunte per ns verifica (vedi note colonna S). La colonna P sono le quantità da ns verifica e le colonne Q ed R sono ricavate con formule. Poi ho fatto una macro (mi sembra con l'aiuto di Ninai che saluto) che in funzione dei numeri 1, 2 e 3 messi manualmente nella colonna T (che rappresentano le lavorazioni contestate con motivazioni specificate nella maschera in calce al foglio) prende il valore stessa riga della colonna R, li somma e per ciascun numero riporta il totale nella maschera suddetta.
Funziona tutto. Mi hanno però chiesto di estrapolare ed ordinare crescente per ciascun file tutte le APP.1.., le APP.2.. e così via fino alla 25.3.... in un file unico. Allora ho pensato di creare un file nuovo dove accodo tutti i Fogli1(tutti hanno solo il Foglio1) dei 57 file da processare e poi trovare il modo di ordinare tutte le APP dalla 1 alla 25.3. Cioè, sul nuovo foglio, ordinare tutte le APP1, poi l'APP2 etc. Ovviamente l'APP1 la trovi su molte righe nel nuovo foglio d'accodamento, distanziate fra loro, non sarebbe difficile intercettarla poichè si trova sempre sulla colonna A ed è in grassetto, ma il numero di righe per ciascuna è vario, arriva fino al Totale e non riesco ad inventarmi un istruzione che, scorrendo il foglione, mi trovi tutte le APP1 etc e me le sposti ad inizio foglio INSIEME ALLE RIGHE CHE LA RIGUARDANO, cioè fino al relativo totale.
So che è dura, per il momento li ho convinti ad utilizzare le stampe ricavate dai file come quello che ti ho inviato, però una soluzione la dovrei trovare.
Mentre mi scuso per la sbrodolata, porgo a tutti un
Cordiale saluto
Enrico
enrico43
Utente Senior
 
Post: 208
Iscritto il: 13/09/14 15:33
Località: Fiumicino

Re: [EXCEL 2013] Unire più file excel in uno

Postdi Flash30005 » 22/01/15 00:46

Avevo chiesto solamente il file riepilogo dopo aver importato tutti i dati dei file per vedere come si erano disposti
Tutto ciò che avviene prima non mi interessa.
Quindi
1) prendi un file riepilogo vuoto
2) usa la macro che importa i dati (credo sia quella che ti ho postato)
3) inviami il file riepilogo come è stato compilato dalla macro
4) ragioneremo su questo file

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [EXCEL 2013] Unire più file excel in uno

Postdi enrico43 » 22/01/15 09:30

Scusami per non aver capito. Il file riepilogo è circa 26MB xls, entro oggi lo riduco un pò poi te lo mando con inclusa la macro.
Ciao
enrico43
Utente Senior
 
Post: 208
Iscritto il: 13/09/14 15:33
Località: Fiumicino

Re: [EXCEL 2013] Unire più file excel in uno

Postdi josple » 23/01/15 15:46

Ciao Flash, non vorrei abusare della tua gentilezza.
Ho un nuovo problema con excel. Il lavoro che ero riuscito a svolgere con il tuo aiuto è servito, ma adesso ho nuove sfide.
Ho sempre quei vari file excel (pippo, pluto, paperino ecc)
Ognuno contiene diverse voci (data di nascita, peso, altezza ecc) e ad ognuna di queste corrisponde il rispettivo valore.
Io vorrei creare un unico file di destinazione dove nella colonna A vi siano i nomi in successione dei singoli file (pippo, pluto, paperino ecc), nelle restanti colonne (B,C,D, ecc) ci siano le varie voci (data di nascita, peso, altezza ecc) e quindi inserire sotto i valori corrispondenti.
Spero di essere stato sufficientemente chiaro.
josple
Utente Junior
 
Post: 27
Iscritto il: 19/01/15 15:01

Re: [EXCEL 2013] Unire più file excel in uno

Postdi Flash30005 » 24/01/15 01:10

Non ho capito se questa "nuova sfida" si riferisce sempre all'importazione precedente oppure è tutt'altro lavoro
In questo secondo caso sarebbe opportuno aprire un nuovo topic e inviare un paio di file (dati-origine)
e un esempio di come vorresti che siano strutturati dopo importazione (quindi 3 file in tutto)
Crei un file archivio (.zip o .rar dei 3 file)
e lo invii come da procedura posta tra le Info di questa sezione.

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [EXCEL 2013] Unire più file excel in uno

Postdi josple » 24/01/15 15:11

E' un altro lavoro, provvedo subito ad aprire un nuovo topic e ad allegare i file.
josple
Utente Junior
 
Post: 27
Iscritto il: 19/01/15 15:01

Re: [EXCEL 2013] Unire più file excel in uno

Postdi Alededio » 21/05/15 23:16

Buonasera a tutti, sono nuovo del forum, ho trovato questa discussione che mi interessa molto.
Infatti ho fatto uso della macro postata da Flash (indicata sotto).
Avrei però bisogno di limitare il numero di colonne che vengono copiate fino alla Q.
Qualcuno potrebbe darmi delle indicazioni?

Grazie mille a tutti.

Flash30005 ha scritto:Vedo che c'è già una soluzione mentre stavo editando la macro (bozza)

che prevede
1) l'importazione dei dati del "Foglio1" di tutti i file Excel contenuti nella stessa cartella del file Riepilogo (che contiene la macro
2) crea una cartella ArchivioXls (se non esiste)
3) trasferisce i file processati nella cartella Archivio per evitare di processarli di nuovo

Codice: Seleziona tutto
Public perc As String, Ws1 As String, f As String, WB1 As String
Sub ElencoFileXls()
Application.ScreenUpdating = False
Application.Calculation = xlManual
perc = ThisWorkbook.Path
If Dir(perc & "\ArchivioXls", vbDirectory) = "" Then
    MkDir (perc & "\ArchivioXls")
End If
WB1 = ThisWorkbook.Name
Ws1 = "Foglio1"
Worksheets(Ws1).Select
Range("A1").Select
  ElencoFile Direct:=perc, Estens:="*.xls*", Inicell:=ActiveCell
    Columns("A:AZ").EntireColumn.AutoFit
    Range("A1").Select
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
Sub ElencoFile(Direct As String, Estens As String, Inicell As Range)
  Dim i As Integer, f As String
  ChDir Direct
  f = Dir(Estens)
  If f = "" Then Exit Sub
  While f <> ""
    If f <> ThisWorkbook.Name Then
        Application.Workbooks.Open perc & "\" & f
        URF = Workbooks(f).Worksheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row
        URR = Workbooks(WB1).Worksheets(Ws1).Range("A" & Rows.Count).End(xlUp).Row
        Workbooks(f).ActiveSheet.Rows("1:" & URF).Copy Destination:=Workbooks(WB1).Worksheets(Ws1).Range("A" & URR + 1)
        Workbooks(f).Close savechanges:=False
        FileCopy perc & "\" & f, perc & "\ArchivioXls\" & f
            Kill perc & "\" & f
    End If
    f = Dir
  Wend
End Sub


Ciao

N.B. il foglio di destinazione è stato chiamato "Foglio1" come tutti i fogli origine dati, se diverso cambiare il nome del foglio nella macro dove vedi scritto: "Foglio1"

Inoltre bisogna vedere se ci sono delle testate da eliminare nel file riepilogo ma lo approfondiamo in un secondo momento
Alededio
Newbie
 
Post: 7
Iscritto il: 21/05/15 23:13

Re: [EXCEL 2013] Unire più file excel in uno

Postdi Anthony47 » 23/05/15 01:46

Questo quesito e' un duplicato (vedi viewtopic.php?f=26&t=104701&p=611038#p611038) o e' ancora valida?

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

Re: [EXCEL 2013] Unire più file excel in uno

Postdi g.campatelli » 01/11/15 09:46

Salve a tutti,
Sono un tesista come josple e come lui vi contatto per avere un aiuto sempre su questo tema, ovvero quello di unire più file Excel in un solo.

Il mio caso è molto simile a quello descritto da josple, ma a differenza sua io ho la necessità di copiare in un unico foglio di lavoro solo l'intervallo A6:X13.
Ho provato a modificare le Macro che voi avete gentilmente postato, ma mi vengo dati in uscita diversi errori.

Premettendo che non ho capito bene se mi conviene per il mio caso utilizzare la Macro "Leggi_Dati_e_Copia_Intervallo_Dati" o la Macro "ElencoFileXls", vi elenco di seguito in maniera più precisa tutte le caratteristiche dei file che devo unire, in modo da potermi gentilmente rispondere con una delle due Macro già customizzata per la mia esigenza.

-il percorso della cartella è: C:\Users\Maria\Desktop\Tesi
-nella cartella Tesi sono presenti i file che devo unire più il file Riepilogo
-di ogni file devo copiare solo l'intervallo A6:X13
-ogni file che devo unire ha solo un foglio di lavoro denominato "Espacenet search results"
-nel file Riepilogo i fogli di lavoro sono denominati "Foglio1, Foglio2, ecc..." (devo rinominarne uno con "Espacenet search results"?)
-nell' intervallo A6:x13 sono presenti dati di tipo "testo", "numeri", "alfanumerico", "data"...

Vi ringrazio infinitamente dell'aiuto e della vostra disponibilità.
g.campatelli
Utente Junior
 
Post: 16
Iscritto il: 01/11/15 09:22

Re: [EXCEL 2013] Unire più file excel in uno

Postdi Anthony47 » 01/11/15 23:38

Ciao g.campatelli, benvenuto nel forum.
Credo che sia meglio che tu descriva completamente il problema da risolvere, senza rimandare a leggere la vecchia discussione per fare delle ipotesi da verificare poi con te.

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

Re: [EXCEL 2013] Unire più file excel in uno

Postdi g.campatelli » 12/11/15 22:56

Grazie Anthony ho risoloto, non dovevo cambiare niente.

Ha funzionato la Macro ElencoFileXls, se scorri nei post indietro la vedi.
g.campatelli
Utente Junior
 
Post: 16
Iscritto il: 01/11/15 09:22

Re: [EXCEL 2013] Unire più file excel in uno

Postdi antonellil » 02/02/16 11:37

Ciao Flash
sto usando la macro del 19/01/15 16:57. Perfetta grazie mille.
Ho solo un piccolo problema. Se il nome dei fogli di origine non sono tutti "Foglio1" ma cambiano ogni volta come si può ovviare?
Mi spiego. I files che voglio unire hanno tutti un unico foglio ma il nome di questo foglio cambia per ogni file e non è quindi "Foglio1".
Hai suggerimenti?
Grazie
L
antonellil
Newbie
 
Post: 1
Iscritto il: 02/02/16 11:32

Re: [EXCEL 2013] Unire più file excel in uno

Postdi Anthony47 » 02/02/16 22:41

In attesa di Flash, il mio suggerimento e' di sostituire la riga Ws1 = "Foglio1" con
Codice: Seleziona tutto
Ws1 = 1

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

Re: [EXCEL 2013] Unire più file excel in uno

Postdi christianghz » 22/07/16 16:01

Ciao Flash, ho provato la tua macro (modificando solo ed esclusivamente il nome della cartella archivio e dei fogli ) ma non so perchè non mi funziona.
Se la avvio mi dice che non trova il file ADR.xlsx nella cartella dove ho il file con la macro e i vari file da importare.
Restituisce:
Errore di Runtime 1004

in questa parte del codice:
Application.Workbooks.Open perc & "\" & f


Ora, non ho idea di chi gli abbia detto di cercare un file ADR.xlsx (i miei file da importare si chiamano tutti "Modulo Richiesta ritiro" e nella macro non esiste nulla riguardante un file di nome ADR), sta di fatto che se insieme ai file da importare metto un file nominato ADR.xlsx allora funziona e mi importa anche gli altri file

Hai idea di cosa accade?
:-?

Grazie, inserisco di seguito la macro da me modificata.
Codice: Seleziona tutto
Public perc As String, Ws1 As String, f As String, WB1 As String
Sub ElencoFileXls()
Application.ScreenUpdating = False
Application.Calculation = xlManual
perc = ThisWorkbook.Path
If Dir(perc & "\Moduli_Importati", vbDirectory) = "" Then
    MkDir (perc & "\Moduli_Importati")
End If
WB1 = ThisWorkbook.Name
Ws1 = "Elenco spedizioni"
Worksheets(Ws1).Select
Range("A1").Select
  ElencoFile Direct:=perc, Estens:="*.xls*", Inicell:=ActiveCell
    Columns("A:DA").EntireColumn.AutoFit
    Range("A1").Select
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
Sub ElencoFile(Direct As String, Estens As String, Inicell As Range)
  Dim i As Integer, f As String
  ChDir Direct
  f = Dir(Estens)
  If f = "" Then Exit Sub
  While f <> ""
    If f <> ThisWorkbook.Name Then
        Application.Workbooks.Open perc & "\" & f
        URF = Workbooks(f).Worksheets("Elenco spedizioni").Range("A" & Rows.Count).End(xlUp).Row
        URR = Workbooks(WB1).Worksheets(Ws1).Range("A" & Rows.Count).End(xlUp).Row
        Workbooks(f).ActiveSheet.Rows("1:" & URF).Copy Destination:=Workbooks(WB1).Worksheets(Ws1).Range("A" & URR + 1)
        Workbooks(f).Close savechanges:=False
        FileCopy perc & "\" & f, perc & "\Moduli_Importati\" & f
            Kill perc & "\" & f
    End If
    f = Dir
  Wend
End Sub
christianghz
Utente Senior
 
Post: 114
Iscritto il: 03/02/14 17:58

Re: [EXCEL 2013] Unire più file excel in uno

Postdi christianghz » 26/07/16 10:38

Ciao Flash,ho trovato il problema ma non so come risolverlo:
Se il file con la macro è situato su una cartella del mio pc la macro funziona, ma se il file con la macro è nel server aziendale non funziona e dà l'errore detto sopra.

È risolvibile questa cosa?

Grazie
christianghz
Utente Senior
 
Post: 114
Iscritto il: 03/02/14 17:58

Re: [EXCEL 2013] Unire più file excel in uno

Postdi Anthony47 » 28/07/16 01:17

Ma i file che la macro deve cercare sono anche loro sul server?
Comunque prova a sostituire
ChDir Direct
f = Dir(Estens)
con
Codice: Seleziona tutto
  f = Dir(Direct & "\" & Estens)

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

Re: [EXCEL 2013] Unire più file excel in uno

Postdi christianghz » 28/07/16 07:55

Si, i file sono nella stessa posizione del file con la macro!

Con la tua modifica Anthony ora funziona anche sul server, grazie mille!
christianghz
Utente Senior
 
Post: 114
Iscritto il: 03/02/14 17:58

Re: [EXCEL 2013] Unire più file excel in uno

Postdi Telex » 04/10/16 14:11

Ciao a tutti. Sono appena iscritto.
Ho trovato la macro del foglio allegato. Avrei due esigenze.
Non utilizzare il nome "foglio1" per i fogli da acquisire che devono essere invece acquisiti a prescindere del nome del foglio di partenza(quindi anche più fogli per singolo file) ed aggiungere la prima colonna che contenga per ogni riga proprio il nome del foglio.
Grazie in anticipo per l'aiuto.
Telex
Newbie
 
Post: 4
Iscritto il: 04/10/16 14:05

Re: [EXCEL 2013] Unire più file excel in uno

Postdi Anthony47 » 05/10/16 01:40

Ciao Telex, benvenuto nel forum.
Sono sicuro che a te e' tutto chiaro, e non escludo che anche noi potremmo farci un'idea di quello che intendi ripassando i 37 messaggi prima del tuo...
Per semplificarci la vita, pero', ti suggerirei di allegare un file dimostrativo con l'esatto layout dei tuoi dati, e su questo esempio spiegare l'obiettivo da raggiungere; se gia' usi una macro allora includi anche quella nel file e nella descrizione.
Per le istruzioni su come allegare un file:
viewtopic.php?f=26&t=103893&p=605487#p605487

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

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "[EXCEL 2013] Unire più file excel in uno":


Chi c’è in linea

Visitano il forum: Nessuno e 74 ospiti