Suggerimento: le altre lingue sono tradotte da Google. Puoi visitare il English versione di questo link.
Log In
x
or
x
x
Registrati
x

or

Come combinare più cartelle di lavoro in una cartella di lavoro principale in Excel?

Sei mai stato bloccato quando devi combinare più cartelle di lavoro in una cartella di lavoro principale in Excel? La cosa più terribile è che le cartelle di lavoro che devi combinare contengono più fogli di lavoro. E come combinare solo i fogli di lavoro specificati di più cartelle di lavoro in una cartella di lavoro? Questo tutorial dimostra diversi metodi utili per aiutarti a risolvere il problema passo dopo passo.


Combina facilmente più cartelle di lavoro in una in Excel:

L' Combinare utilità delle cartelle di lavoro di Kutools for Excel può aiutarti a combinare facilmente più file Excel in uno solo. Inoltre, consente di combinare facilmente i fogli di lavoro specificati di determinati file di Excel in una cartella di lavoro principale. Scarica ora la traccia completa 60-day della funzionalità completa!

Combina più cartelle di lavoro in una cartella di lavoro con la funzione Sposta o Copia

Se è necessario combinare solo un paio di cartelle di lavoro, è possibile utilizzare il comando Sposta o Copia per spostare manualmente o copiare fogli di lavoro dalla cartella di lavoro originale alla cartella di lavoro principale.

1. Aprire le cartelle di lavoro che verranno unite in una cartella di lavoro principale.

2. Seleziona i fogli di lavoro nella cartella di lavoro originale che dovrai spostare o copiare nella cartella di lavoro principale.

Note:

1). È possibile selezionare più fogli di lavoro non adiacenti tenendo premuto il pulsante Ctrl chiave e facendo clic sulle schede del foglio una per una.

2). Per selezionare più fogli di lavoro adiacenti, fare clic sulla prima scheda del foglio, tenere premuto il pulsante spostamento chiave, quindi fare clic sull'ultima scheda del foglio per selezionarli tutti.

3). È possibile fare clic destro su qualsiasi scheda del foglio, fare clic su Seleziona tutti i fogli dal menu di scelta rapida per selezionare tutti i fogli di lavoro nella cartella di lavoro allo stesso tempo.

3. Dopo aver selezionato i fogli di lavoro necessari, fare clic con il pulsante destro del mouse sulla scheda del foglio, quindi fare clic su Sposta o copia dal menu di scelta rapida. Vedi screenshot:

4. Poi il Sposta o copia finestra di dialogo si apre, nel Prenotare menu a discesa, selezionare la cartella di lavoro principale che verrà spostata o copiare i fogli di lavoro. Seleziona sposta per terminare nel Prima del foglio scatola, controlla il Crea una copia casella e infine fare clic su OK pulsante.

Quindi puoi vedere i fogli di lavoro in due cartelle di lavoro combinate in una sola. Ripetere i passaggi precedenti per spostare i fogli di lavoro da altre cartelle di lavoro nella cartella di lavoro principale.

Office Tab: un componente aggiuntivo in tempo reale!

Mostra tutti i documenti aperti in una singola finestra per aiutare a trovare rapidamente un documento necessario a colpo d'occhio.

45-day di prova con funzionalità complete. Compatibile con tutte le versioni di Excel, Word e PowerPoint.

SAPERE DI PIÙ SU L'ADD-IN>

Combina più cartelle di lavoro o fogli specificati di cartelle di lavoro in una cartella di lavoro principale con VBA

Se è necessario unire più cartelle di lavoro in una, è possibile applicare i seguenti codici VBA per raggiungerlo rapidamente. Si prega di fare come segue.

1. Metti tutte le cartelle di lavoro che vuoi combinare in una sotto la stessa directory.

2. Avvia un file Excel (questa cartella di lavoro sarà la cartella di lavoro principale).

3. premi il altro + F11 chiavi per aprire il Microsoft Visual Basic per le applicazioni finestra. Nel Microsoft Visual Basic per le applicazioni finestra, fare clic inserire > Modulo, quindi copiare sotto il codice VBA nella finestra del modulo.

Codice VBA 1: Unisci più cartelle di lavoro di Excel in una sola

Sub GetSheets()
'Updated by Extendoffice 2019/2/20
Path = "C:\Users\dt\Desktop\dt kte\"
Filename = Dir(Path & "*.xls")
  Do While Filename <> ""
  Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
     For Each Sheet In ActiveWorkbook.Sheets
     Sheet.Copy After:=ThisWorkbook.Sheets(1)
  Next Sheet
     Workbooks(Filename).Close
     Filename = Dir()
  Loop
End Sub
	

Note:

1. Il suddetto codice VBA manterrà i nomi dei fogli della cartella di lavoro originale dopo la fusione.

2. Se si desidera distinguere i fogli di lavoro nella cartella di lavoro principale da cui provengono dopo la fusione, applicare il codice VBA seguente 2.

3. Se si desidera combinare fogli di lavoro specifici delle cartelle di lavoro in una cartella di lavoro principale, è possibile utilizzare il codice VBA sottostante 3.

Nei codici VBA, "C: \ Users \ DT168 \ Desktop \ KTE \"È il percorso della cartella. Nel codice VBA 3, "Sheet1, Sheet3"sono i fogli di lavoro specificati delle cartelle di lavoro che si combinano in una cartella di lavoro principale. È possibile modificarli in base alle proprie esigenze.

Codice VBA 2: Unisci cartelle di lavoro in una (ogni foglio di lavoro sarà denominato con il prefisso del nome del file originale):

Sub MergeWorkbooks()
'Updated by Extendoffice 2019/2/20
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
On Error Resume Next
xStrPath = "C:\Users\DT168\Desktop\KTE\"
xStrFName = Dir(xStrPath & "*.xlsx")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
Do While Len(xStrFName) > 0
    Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
    xStrAWBName = ActiveWorkbook.Name
    For Each xWS In ActiveWorkbook.Sheets
    xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.Count)
    Set xMWS = xTWB.Sheets(xTWB.Sheets.Count)
    xMWS.Name = xStrAWBName & "(" & xMWS.Name & ")"
    Next xWS
    Workbooks(xStrAWBName).Close
    xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

Codice VBA 3: Unisci i fogli di lavoro delle cartelle di lavoro specificati in una cartella di lavoro principale:

Sub MergeSheets2()
'Updated by Extendoffice 2019/2/20
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
Dim xI As Integer
On Error Resume Next

xStrPath = " C:\Users\DT168\Desktop\KTE\"
xStrName = "Sheet1,Sheet3"

xArr = Split(xStrName, ",")

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
xStrFName = Dir(xStrPath & "*.xlsx")
Do While Len(xStrFName) > 0
Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
xStrAWBName = ActiveWorkbook.Name
For Each xWS In ActiveWorkbook.Sheets
For xI = 0 To UBound(xArr)
If xWS.Name = xArr(xI) Then
xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.count)
Set xMWS = xTWB.Sheets(xTWB.Sheets.count)
xMWS.Name = xStrAWBName & "(" & xArr(xI) & ")"
Exit For
End If
Next xI
Next xWS
Workbooks(xStrAWBName).Close
xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub

4. premi il F5 chiave per eseguire il codice. Quindi tutti i fogli di lavoro o i fogli di lavoro specificati delle cartelle di lavoro in una determinata cartella vengono combinati contemporaneamente in una cartella di lavoro principale.

Combina facilmente più cartelle di lavoro o fogli di lavoro specifici in una cartella di lavoro

Kutools for Excel

È un pratico componente aggiuntivo di Excel che raccoglie oltre le funzionalità avanzate di 300 per semplificare il lavoro nelle operazioni di Excel. Con esso puoi facilmente:

  • Combina più libri di esercizi;
  • Conta / somma celle per colore;
  • Cellule divise;
  • Batch rimuove gli spazi;
  • Altre funzioni ...

SCARICA GRATIS ORA!

Fortunatamente la documentazione dedicata a Combinare utilità di cartella di lavoro di Kutools for Excel rende molto più facile unire più cartelle di lavoro in una sola. Vediamo come far funzionare questa funzione combinando più cartelle di lavoro.

1. Crea una nuova cartella di lavoro e fai clic Kutools Plus > Combinare. Quindi viene visualizzata una finestra di dialogo per ricordare che tutte le cartelle di lavoro combinate devono essere salvate e che la funzionalità non può essere applicata alle cartelle di lavoro protette, fare clic sul OK pulsante.

2. Nel Combina fogli di lavoro procedura guidata, selezionare Combina più fogli di lavoro da cartelle di lavoro in una cartella di lavoro opzione, quindi fare clic su Successivo pulsante. Vedi screenshot:

3. Nel Combina fogli di lavoro - Passo 2 di 3 finestra di dialogo, fare clic su aggiungere > filetto or cartella per aggiungere i file Excel si fonderanno in uno. Dopo aver aggiunto i file Excel, fare clic su Fine pulsante e scegliere una cartella per salvare la cartella di lavoro principale. Vedi screenshot:

Ora tutte le cartelle di lavoro sono unite in una.

Rispetto ai due metodi precedenti, Kutools for Excel ha i seguenti vantaggi:

  • 1) Tutte le cartelle di lavoro e i fogli di lavoro sono elencati nella finestra di dialogo;
  • 2) Per i fogli di lavoro che si desidera escludere dall'unione, deselezionarlo;
  • 3) I fogli di lavoro vuoti vengono esclusi automaticamente;
  • 4) Il nome del file originale verrà aggiunto come prefisso al nome del foglio dopo l'unione;
  • Per più funzioni di questa funzione, per favore visita qui.

Fa questo Combina cartelle di lavoro aiuto di utilità? Scarichiamo e proviamo la versione completa di prova gratuita 60-day!

Strumenti di produttività consigliati per Microsoft Office

Scheda Office: navigazione, modifica e gestione a schede in Excel / Word / PowerPoint:

Office Tab porta l'interfaccia a schede come si vede nei browser Web come Google Chrome, le nuove versioni di Internet Explorer e Firefox in Microsoft Excel / Word / PowerPoint. Sarà uno strumento che fa risparmiare tempo e che è irrealizzabile nel tuo lavoro. Vedi sotto demo:

ot1

Kutools per Excel - Combina più di 300 Funzioni e strumenti avanzati per Microsoft Excel:

Kutools for Excel è un pratico componente aggiuntivo di Excel con oltre le funzionalità avanzate di 300 per semplificare vari tipi di attività complicate in pochi clic in Excel. Per esempio:

  • Combina più fogli di lavoro o cartelle di lavoro in una cartella di lavoro
  • Contare e sommare le celle in base al colore di sfondo / carattere
  • Dividere il contenuto della cella in più righe / colonne per spazio / virgola / delimitatore
  • Batch Rimuove gli spazi iniziali nelle celle
KTE

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Adam Grise · 1 years ago
    This code is great. One question.

    The team I'm building a workbook for gets data from several external sources, and many of the sheets appear similar and have the same name. This makes it hard to identify the sources of data just by looking at the sheets. However, each workbook will have a different file name.

    For example, if I pull in three files: Book1, Book2, Book3, and each of them has two sheets: SheetA, SheetB... After all is said and done, there isn't a clear way to distinguish which sheets came from where, since the sheet names will just be: SheetA, SheetB, SheetA (2), SheetB (2), SheetA (3), SheetB (3).

    Instead if they could be renamed to SheetABook1, SheetBBook1, SheetABook2, SheetBBook2, etc. they'd be more identifiable. Is there a way to have the VBA tack on the file name to the existing sheet names?
    • To post as a guest, your comment is unpublished.
      Adam Grise · 1 years ago
      Update: I have discovered that there is *just* enough variance in column headers such that I can identify which is which, and from there I can rename the sheets based on those properties. It appears that will work for now, but I'd be curious if it's still possible to do what I'd originally thought.
  • To post as a guest, your comment is unpublished.
    jay · 1 years ago
    Run-time error '1004':
    Copy method of worksheet class failed
  • To post as a guest, your comment is unpublished.
    kevin · 1 years ago
    I am using the code below to combined sheet 1 of multiple workbooks, but now I actually need to combine sheet 2 of multiple work books. Can any one please help me with what I need to change on the coding to combine sheet 2 instead of sheet 1.

    Sub MergeFilesWithoutSpaces()
    Dim path As String, ThisWB As String, lngFilecounter As Long
    Dim wbDest As Workbook, shtDest As Worksheet, ws As Worksheet
    Dim Filename As String, Wkb As Workbook
    Dim CopyRng As Range, Dest As Range
    Dim RowofCopySheet As Integer ThisWB = ActiveWorkbook.Name

    path = "c:\Test\"

    RowofCopySheet = 2

    Application.EnableEvents = False
    Application.ScreenUpdating = False

    Set shtDest = ActiveWorkbook.Sheets(1)
    Filename = Dir(path & "\*.xls", vbNormal)
    If Len(Filename) = 0 Then Exit Sub
    Do Until Filename = vbNullString
    If Not Filename = ThisWB Then Set Wkb = Workbooks.Open(Filename:=path & "\" & Filename)
    Set CopyRng = Wkb.Sheets(1).Range(Cells(RowofCopySheet, 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row, Cells(1, Columns.Count).End(xlToLeft).Column))
    Set Dest = shtDest.Range("A" & shtDest.Cells(Rows.Count, 1).End(xlUp).Row + 1)
    CopyRng.Copy
    Dest.PasteSpecial xlPasteFormats
    Dest.PasteSpecial xlPasteValuesAndNumberFormats
    Application.CutCopyMode = False 'Clear Clipboard'
    Wkb.Close False

    End If

    Filename = Dir()

    Loop

    End Sub
    • To post as a guest, your comment is unpublished.
      Emile Keyser · 1 years ago
      Hi, I run into an syntaxis error while I execute this code (I also need just to combine sheet 1 from around 250 seperate .xls files into one file). I am not a VBA specialist.


      This below pops up in yellow.
      Sub MergeFilesWithoutSpaces()

      Another question: do I need to replace the "c:\test\"path by my path where these 250 .xls are stored?
      Any other modifications to this code?


      Much appreciated!
  • To post as a guest, your comment is unpublished.
    Hitesh · 1 years ago
    i want to combine data from multiple work books (excel file) whc includes 8 sheets
  • To post as a guest, your comment is unpublished.
    Lawrance · 1 years ago
    Error Line: Workbooks.Open Filename:=