Risultati da 1 a 10 di 10

Discussione: Unione di più Fogli Excel in uno solo



  1. #1
    L'avatar di fberlinetta
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Milano
    Età
    27
    Messaggi
    41
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    1

    Unione di più Fogli Excel in uno solo

    Salve a tutti :43:,
    come da titolo ho un problema nell'unire più fogli Excel in uno solo...


    Il problema sta nel fatto che ho dentro una cartella, diciamo 30 fogli Excel con tabelle varie distinti e totalmente diversi tra loro (S001-15, S002-15, S003-15, etc); dentro di essi ho vari fogli, ma a me interessano solo quelli rinominati in questo modo: S001 - S002 - S003 - etc, come da immagine...



    *(No Gennaio, Febbraio, Marzo... ma S001, S002, S003...)

    invece di fare manualmente "Sposta o copia" per portare ogni singolo foglio di ognuno (S001 - S002 - S003 - etc) sul file principale, dovrei trovare una macro che mi permetta di farlo in automatico, visto la grande mole di lavoro e tempo...


    nell'immagine si può vedere come deve essere a lavoro finito, e naturalmente i foglio all'interno di questo file principale non sono pochi.


    Sareste così gentili da darmi una mano?


    Vi ringrazio :43:

  2. #2
    L'avatar di zio_tom
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Veneto
    Messaggi
    526
    Versione Office
    2010 - Win10
    Likes ricevuti
    64
    Likes dati
    17

    Re: Unione di più Fogli Excel in uno solo

    metti un po' di chiarezza fra :
    File
    Directory
    Foglio
    Cartella

    meglio usare la 'terminologia/ parole chiave' che si usa in VBA

  3. #3
    L'avatar di fberlinetta
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Milano
    Età
    27
    Messaggi
    41
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    1

    Re: Unione di più Fogli Excel in uno solo

    Il problema sta nel fatto che ho, diciamo 30 file Excel distinti e totalmente diversi tra loro (S001-15, S002-15, S003-15, etc); dentro di essi ho vari fogli con tabelle varie, sempre diverse l'uno dall'altra, ma a me interessano solo quelli rinominati in questo modo: S001 - S002 - S003 - etc...

    invece di fare manualmente "Sposta o copia" per portare ogni singolo foglio di ognuno (S001 - S002 - S003 - etc) su un file principale che creerò a parte, dovrei trovare una macro che mi permetta di farlo in automatico, visto la grande mole di lavoro e tempo...

    Penso che così si possa capire meglio... scusate per la fretta
    :269:

  4. #4
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    72
    Messaggi
    1115
    Versione Office
    2010
    Likes ricevuti
    143
    Likes dati
    1

    Re: Unione di più Fogli Excel in uno solo

    allega un file di esempio con pochi fogli e col risultato desiderato

  5. #5
    L'avatar di fberlinetta
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Milano
    Età
    27
    Messaggi
    41
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    1

    Re: Unione di più Fogli Excel in uno solo

    Ecco qui...
    un pò spartano, ma il risultato è quello :167:
    File Allegati File Allegati

  6. #6
    L'avatar di fberlinetta
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Milano
    Età
    27
    Messaggi
    41
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    1

    Re: Unione di più Fogli Excel in uno solo

    Se può essere d'aiuto, cercando un pò qua e la ho provato questo codice:
    Codice: 
    Sub ConsolidateMultipleSheets()
    Dim wbSource As Workbook, wbTarget As Workbook
    Dim wsSource As Worksheet, wsTarget As Worksheet
    Dim sFolder As String, sFile As String, sFilter As String
    Dim lSourceFirstRow As Long, lSourceLastRow As Long, lTargetLastRow As Long, lFiles As Long
    Dim bCopyHeaders As Boolean, bClearDestination As Boolean
    Dim vSheets, vSheet
    
    
    On Error GoTo Uffa
    
    
    sFolder = "C:\ProvaExcel\"
    sFilter = "*.xls"
    
    vSheets = Array("S001", "S002", "S003", "S004")
    
    
    bCopyHeaders = True
    bClearDestination = True
    
    
    With Application
    .DisplayAlerts = False
    .EnableEvents = False
    .ScreenUpdating = False
    End With
    
    
    Set wbTarget = ThisWorkbook
    
    
    On Error Resume Next
    For Each vSheet In vSheets
    Set wsTarget = wbTarget.Sheets(vSheet)
    If wsTarget Is Nothing Then
    Set wsTarget = wbTarget.Worksheets.Add
    wsTarget.Name = vSheet
    End If
    If bClearDestination Then
    wsTarget.Cells.ClearContents
    End If
    Set wsTarget = Nothing
    Next
    On Error GoTo Uffa
    
    
    sFile = Dir(sFolder & sFilter)
    Do While Len(sFile)
    If sFile <> wbTarget.Name Then
    Application.StatusBar = "Copy in progress: " & sFile
    lFiles = lFiles + 1
    
    
    Set wbSource = Workbooks.Open(sFolder & sFile, False, True)
    For Each vSheet In vSheets
    Set wsSource = wbSource.Sheets(vSheet)
    Set wsTarget = wbTarget.Sheets(vSheet)
    lSourceFirstRow = 3 + bCopyHeaders
    lSourceLastRow = wsSource.UsedRange.Rows.Count
    lTargetLastRow = wsTarget.UsedRange.Rows.Count
    wsSource.Rows(lSourceFirstRow & ":" & lSourceLastRow).Copy wsTarget.Cells(lTargetLastRow, 1)
    Next
    If bCopyHeaders Then bCopyHeaders = False
    
    
    wbSource.Close False
    Set wbSource = Nothing
    End If
    sFile = Dir
    Loop
    
    
    Call MsgBox("Consolidamento terminato: " & lFiles & " files copiati.", vbInformation, "Consolidamento Files")
    
    
    ExitHere:
    With Application
    .StatusBar = False
    .EnableEvents = True
    .ScreenUpdating = True
    .DisplayAlerts = True
    End With
    Exit Sub
    
    
    Uffa:
    Call MsgBox("Si è verificato il seguente errore:" & vbNewLine & _
    "Error Number: " & Err.Number & vbNewLine & _
    "Description : " & Err.Description & vbNewLine & _
    "File in elaborazione: " & sFile, vbOKOnly + vbCritical, "Error Message")
    On Error GoTo 0
    wbSource.Close False
    Resume ExitHere
    End Sub



    dando il percorso dove sono posizionati questi miei file.... solamente che sul file principale mi va a piazzare solo il primo foglio di questi miei file, e tutto completamente sballato (neanche un valore o un numero al suo posto)
    Ultima modifica fatta da:Gerardo Zuccalà; 07/04/16 alle 00:09 Motivo: Messo Codice VBA tra i TAG

  7. #7
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    72
    Messaggi
    1115
    Versione Office
    2010
    Likes ricevuti
    143
    Likes dati
    1

    Re: Unione di più Fogli Excel in uno solo

    riepiloghiamo
    hai molti file in una cartella, vuoi aprirli e per ognuno copiare tutti i fogli col nome che inizia per 5 in un file di riepilogo, corretto ?
    potrebbero esserci fogli con lo stesso nome nei vari file ? per testare la macro occorrono alcuni file di esempio non vuoti

  8. #8
    L'avatar di fberlinetta
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Milano
    Età
    27
    Messaggi
    41
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    1

    Re: Unione di più Fogli Excel in uno solo

    Si, corretto patel (è una "S", non un "5" :167:): in pratica ho tanti documenti Excel (ecco spiegata la mole di lavoro); ogni documento ha dentro di se 3-4 fogli, tra cui uno rinominato S001 per quanto riguarda il primo; nel secondo documento stessa cosa (3-4 fogli) ma con un foglio rinominato S002, nel terzo documento sempre 3-4 fogli di cui uno rinominato S003 etc etc...

    Da parte ho un documento Excel principale che chiamerò PIPPO; dentro PIPPO devo copiare o spostare uno ad uno i fogli di questi documenti rinominati in quel modo (S001, S002, S003, etc..)

    Quindi PIPPO è un solo documento con tanti fogli diversi tra loro, sia nel nome (visto che vanno in sequenza: S001, S002, S003, etc..) che al loro interno, perchè composti da tabelle e numeri.

    Quando manualmente vado a copiare o spostare, naturalmente non varia niente, e servirebbe una macro che faccia la stessa cosa in automatico, magari andando a pescare tutti questi documenti e impiantandoli in PIPPO, senza fare uno per uno a mano

  9. #9
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    72
    Messaggi
    1115
    Versione Office
    2010
    Likes ricevuti
    143
    Likes dati
    1

    Re: Unione di più Fogli Excel in uno solo

    ripeto
    Citazione Originariamente Scritto da patel Visualizza Messaggio
    per testare la macro occorrono alcuni file di esempio non vuoti
    in attesa prova questa
    Codice: 
    Sub copySomeSheetsInWbInFolderToSheets()
        Dim fileName, ws As Worksheet, destWB As Workbook
        Dim pPath As String
        pPath = "C:\percorso" '<<< da modificare
        Set destWB = ActiveWorkbook
        With CreateObject("scripting.filesystemobject")
           For Each fileName In .GetFolder(pPath).Files
              With Workbooks.Open(fileName)
              
                For Each sh In .Sheets
                  If Left(sh.Name, 1) = "S" Then
                    sh.Copy After:=destWB.Sheets(destWB.Sheets.Count)
                  End If
                Next
                .Close True
              End With
            Next
        End With
    End Sub

  10. #10
    L'avatar di fberlinetta
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Milano
    Età
    27
    Messaggi
    41
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    1

    Re: Unione di più Fogli Excel in uno solo

    :171: funziona.... alla grande poi!!!

    Gli ho dato il percorso specificato con la cartella, e funziona!

    Grazie ancora di tutto!! :246::246::246:

Discussioni Simili

  1. [Risolto] Unione di più fogli con ricerca
    Di Rudolfet nel forum Domande su Excel VBA e MACRO
    Risposte: 4
    Ultimo Messaggio: 03/10/16, 14:42
  2. Unione di più fogli con ricerca
    Di Rudolfet nel forum Domande su Excel in generale
    Risposte: 2
    Ultimo Messaggio: 25/09/16, 14:29
  3. Unione di due fogli di uno stesso file xlsx
    Di Gian666 nel forum Domande su Excel in generale
    Risposte: 6
    Ultimo Messaggio: 13/09/16, 12:17
  4. Salvare solo alcuni fogli di una cartella in pdf
    Di GruppoSIA nel forum Domande su Excel in generale
    Risposte: 0
    Ultimo Messaggio: 17/02/16, 15:26
  5. unione fogli
    Di borgpp nel forum Domande su Excel in generale
    Risposte: 29
    Ultimo Messaggio: 04/12/15, 21:31

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •