Come combinare più cartelle di lavoro in un'unica cartella di lavoro principale in Excel?
Ti sei mai trovato in difficoltà quando hai dovuto combinare più cartelle di lavoro in una cartella di lavoro principale in Excel? La cosa peggiore è 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 sola cartella di lavoro? Questo tutorial dimostra diversi metodi utili per aiutarti a risolvere il problema passo dopo passo.
Combina più cartelle di lavoro in una con la funzione Sposta o Copia
Se ci sono solo poche cartelle di lavoro da combinare, puoi utilizzare il comando Sposta o Copia per spostare o copiare manualmente i fogli di lavoro dalla cartella di lavoro originale alla cartella di lavoro principale.
1. Apri le cartelle di lavoro che desideri unire in una cartella di lavoro principale.
2. Seleziona i fogli di lavoro nella cartella di lavoro originale che desideri spostare o copiare nella cartella di lavoro principale.
Note:
1). Puoi selezionare più fogli di lavoro non adiacenti tenendo premuto il tasto Ctrl e facendo clic sulle schede dei fogli uno per uno.
2). Per selezionare più fogli di lavoro adiacenti, fai clic sulla prima scheda del foglio, tieni premuto il tasto Shift , quindi fai clic sull'ultima scheda del foglio per selezionarli tutti.
3). Puoi fare clic con il pulsante destro del mouse su qualsiasi scheda del foglio, fare clic su Seleziona tutte le schede dal menu contestuale per selezionare contemporaneamente tutti i fogli di lavoro della cartella di lavoro.
3. Dopo aver selezionato i fogli di lavoro necessari, fai clic con il pulsante destro del mouse sulla scheda del foglio, quindi fai clic su Sposta o Copia dal menu contestuale. Vedi screenshot:
4. Si aprirà la finestra di dialogo Sposta o Copia, nel menu a discesa Per libro, seleziona la cartella di lavoro principale in cui desideri spostare o copiare i fogli di lavoro. Seleziona Sposta in fondo nella casella Prima del foglio, spunta la casella Crea una copia, e infine fai clic sul pulsante OK.
A questo punto, puoi vedere che i fogli di lavoro di due cartelle di lavoro sono stati combinati in uno. Ripeti i passaggi precedenti per spostare i fogli di lavoro da altre cartelle di lavoro nella cartella di lavoro principale.
Combina più cartelle di lavoro o fogli specificati in una cartella di lavoro principale con VBA
Se ci sono più cartelle di lavoro da unire in una sola, puoi applicare i seguenti codici VBA per raggiungere rapidamente l'obiettivo. Procedi come segue.
1. Metti tutte le cartelle di lavoro che desideri combinare in una sola nella stessa directory.
2. Avvia un file Excel (questa cartella di lavoro sarà la cartella di lavoro principale).
3. Premi i tasti Alt + F11 per aprire la finestra Microsoft Visual Basic per applicazioni. Nella finestra Microsoft Visual Basic per applicazioni, fai clic su Inserisci > Modulo, quindi copia il seguente codice VBA nella finestra Modulo.
Codice VBA 1: Unisci più cartelle di lavoro Excel in una
Sub GetSheets()
'Updated by Extendoffice 2019/2/20
Path = "C:\Users\dt\Desktop\dt kte\"
Filename = Dir(Path & "*.xlsx")
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 codice VBA sopra manterrà i nomi dei fogli delle cartelle di lavoro originali dopo l'unione.
2. Se vuoi distinguere da dove provengono i fogli di lavoro nella cartella di lavoro principale dopo l'unione, applica il seguente codice VBA 2.
3. Se vuoi combinare solo i fogli di lavoro specificati delle cartelle di lavoro in una cartella di lavoro principale, il seguente codice VBA 3 può aiutarti.
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 combinerai in una cartella di lavoro principale. Puoi modificarli in base alle tue esigenze.
Codice VBA 2: Unisci cartelle di lavoro in una (ogni foglio di lavoro verrà nominato 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 fogli di lavoro specificati di cartelle di lavoro 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 tasto F5 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 in una cartella di lavoro principale in una volta sola.
Combina facilmente più cartelle di lavoro o fogli specificati in una singola cartella di lavoro
Fortunatamente, la funzione Combina cartelle di lavoro di Kutools per Excel rende molto più facile unire più cartelle di lavoro in una. Vediamo come far funzionare questa funzione per combinare più cartelle di lavoro.
Prima di applicare Kutools per Excel, scarica e installalo prima.
1. Crea una nuova cartella di lavoro e fai clic su Kutools Plus > Combina. Poi apparirà una finestra di dialogo per ricordarti che tutte le cartelle di lavoro combinate devono essere salvate e che la funzione non può essere applicata a cartelle di lavoro protette, quindi fai clic sul pulsante OK.
2. Nella procedura guidata Combina Fogli di Lavoro, seleziona l'opzione Combina più fogli di lavoro da cartelle di lavoro in una cartella di lavoro, quindi fai clic sul pulsante Avanti. Vedi screenshot:
3. Nella finestra di dialogo Combina Fogli di Lavoro - Passo 2 di 3, fai clic su Aggiungi > File o Cartella per aggiungere i file Excel che desideri unire in uno. Dopo aver aggiunto i file Excel, fai clic sul pulsante Fine e scegli una cartella per salvare la cartella di lavoro principale. Vedi screenshot:
Ora tutte le cartelle di lavoro sono state unite in una.
Rispetto ai primi due metodi, Kutools per 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 desideri escludere dall'unione, basta deselezionarli;
- 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 ulteriori funzioni di questa caratteristica, visita qui.
Se desideri provare gratuitamente (30-giorno) questa utility, fai clic per scaricarla e poi vai ad applicare il calcolo seguendo i passaggi sopra indicati.
I migliori strumenti per la produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, invece che in nuove finestre.
- Aumenta la tua produttività del50% e riduce centinaia di clic del mouse ogni giorno!