Unire in excel più fogli di diversi file in un unico foglio di un unico file

Anonimo
2014-05-06T16:08:33+00:00

Ciao a tutti vi spiego la mia esigenza

ho molteplici file excel, ciascuno con gli stessi fogli (ugualmente titolati). I fogli corrispondenti hanno stesse intestazioni di colonne popolate però con diverso numero di righe.

L'esigenza - come facilmente intuibile - è di ottenere un file finale con con gli stessi fogli contenenti tutte le righe di tutti i fogli dei singoli file.

Al link di seguito due tra i file di cui mi necessita l' "unione" finale.

https://dl.dropboxusercontent.com/u/110044258/excel%20da%20unire.zip 

I fogli da unire sono quelli titolati "wiring list" e "device list"; le righe da riportare nel file unione vanno dalla 3 in poi. Ovviamente metterei tutti i file (file di unione compreso) nella stessa cartella.

Grazie a chiunque potrà darmi uno spunto

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

25 risposte

Ordina per: Più utili
  1. Anonimo
    2016-03-10T08:11:23+00:00

    Ciao Dario

    la rete è piena di tutorial utili e questa stessa comunity ha tante discussioni che puoi consultare con domande e risposte a questioni pratiche riscolte con il VBA

    ti riporto una delle tante pagine su cui mi sono "formato"

    http://mikevba.altervista.org/

    saluti

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2016-03-02T21:02:24+00:00

    Ciao Nicola,

    grazie per la tua risposta e per il codice!! Funziona davvero bene!! In realtà sto "studiacchiando" un po' per cercare di capire come funziona e diventare almeno un po' autonomo con il vba. Magari ti disturberò ancora per chiederti qualche info su parti di codice che stento a capire, spero di non approfittare della tua disponibilità. A proposito se hai qualche link da utile da indicarmi per imparare è ben accetto!! Grazie ancora!! Buona serata

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2016-02-24T12:57:55+00:00

    Ciao

    crea un nuovo excel e salvalo in un percorso diverso da quello dove hai tutti i file da unire.

    poi lancia questa Macro

    Sub Sfoglia_Files()

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

    ''''' ATTENZIONE RICHIEDE L'ATTIVAZIONE DELLA LIBRERIA MICROSOFT SCRIPTING RUNTIME '''''

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

        Dim strPath As String

        Dim objFSY As FileSystemObject

        Dim objFOL As Folder

        Dim objFIL As File

        Dim wbFrom As Workbook, wbTo As Workbook

        Dim wsFrom As Worksheet, wsTo As Worksheet

        Dim x As Long, i As Long

        Dim rngCopy As Range

        Set wbTo = ThisWorkbook

        Set wsTo = wbTo.Sheets(1)

        strPath = "C:\Users\qz0pyp\Desktop\mc" '''QUI IL PERCORSO

        Set objFSY = New FileSystemObject

        Set objFOL = objFSY.GetFolder(strPath)

        For Each objFIL In objFOL.Files

            x = wsTo.Range("B" & wsTo.Rows.Count).End(xlUp).Row + 1

            Set wbFrom = Application.Workbooks.Open(objFIL)

            Set wsFrom = wbFrom.Sheets(1)

                With wsFrom

                    i = .Range("A" & .Rows.Count).End(xlUp).Row

                    Set rngCopy = .Range("A1:Q" & i)

                    rngCopy.Copy wsTo.Cells(x, 1)

                    Set rngCopy = Nothing

                End With

            wbFrom.Close 0

            Set wbFrom = Nothing

            Set wsFrom = Nothing

        Next

        Set objFSY = Nothing

        Set objFOL = Nothing

        Set wbTo = ThisWorkbook

        Set wsTo = Nothing

    End Sub

    imposta il range che vuoi vengano copiate da ogni foglio (io ho messo da "A" a "Q") e ovviamente il tuo percorso locale ... dovrebbe funzionare

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2016-02-22T20:28:33+00:00

    Ciao,

    ho provato attivando la libreria ma senza esito...purtroppo ho i veri files a lavoro e non riesco a caricarli qui, i pc sono tutti bloccati...provo con un link di wetransfer in cui ci sono dei files simili per struttura a quelli su cui sto lavorando davvero. Quello di cui avrei bisogno è che il contenuto di ciascun foglio venga messo uno sotto l'altro in un altro foglio...

    http://we.tl/lRkxl0Dkv7

    Grazie mille, il vostro aiuto è davvero molto prezioso.

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2016-02-20T10:59:08+00:00

    hai attivato la  "LIBRERIA MICROSOFT SCRIPTING RUNTIME" ?

    Devi entrare nel VBA --> Strumenti --> Riferimenti --> MICROSOFT SCRIPTING RUNTIME

    Se vuoi puoi allegare i file (puoi usare microsoft onedrive)

    Se parliamo della macro di Andrea, non ne vedo il motivo.

    Non c'è nulla che porti alla sua attivazione.

    La risposta è stata utile?

    0 commenti Nessun commento