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 mostra diversi metodi utili per aiutarti a risolvere il problema passo dopo passo.
- Metodo A: Combina più cartelle di lavoro in una cartella di lavoro con la funzione Sposta o Copia
- Metodo B: Combina più cartelle di lavoro o fogli di lavoro specificati in una cartella di lavoro principale con VBA
- Metodo C: Combina facilmente più cartelle di lavoro o fogli di cartelle di lavoro specificati in una cartella di lavoro
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 o copiare manualmente i fogli di lavoro dalla cartella di lavoro originale alla cartella di lavoro principale.
1. Apri le cartelle di lavoro che unirai in una cartella di lavoro principale.
2. Selezionare i fogli di lavoro nella cartella di lavoro originale che sposterete o copierete 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 del foglio una per una.
2). Per selezionare più fogli di lavoro adiacenti, fare clic sulla prima scheda del foglio, tenere premuto il pulsante Shift chiave, quindi fare clic sulla scheda dell'ultimo foglio per selezionarli tutti.
3). Puoi fare clic con il tasto destro su qualsiasi scheda del foglio, fare clic su Seleziona tutti i fogli dal menu contestuale per selezionare tutti i fogli di lavoro nella cartella di lavoro contemporaneamente.
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 contestuale. Vedi screenshot:
4. Quindi il file Sposta o copia si apre la finestra di dialogo, nel file Prenotare menu a discesa, selezionare la cartella di lavoro principale in cui spostare o copiare i fogli di lavoro. Seleziona mossa per terminare nel file Prima del foglio casella, seleziona il file 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. Ripetere 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 di lavoro specificati in una cartella di lavoro principale con VBA
Se è necessario unire più cartelle di lavoro in una sola, è possibile applicare i seguenti codici VBA per ottenerlo rapidamente. Si prega di fare quanto segue.
1. Metti tutte le cartelle di lavoro che desideri combinare in una nella 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 > Moduli, quindi copia sotto il codice VBA nella finestra del modulo.
Codice VBA 1: unisci più cartelle di lavoro Excel in una sola
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 la fusione.
2. Se si desidera distinguere quali fogli di lavoro nella cartella di lavoro principale provengono da dove dopo l'unione, applicare il codice VBA di seguito 2.
3. Se si desidera semplicemente combinare fogli di lavoro specificati delle cartelle di lavoro in una cartella di lavoro principale, il codice VBA 3 di seguito può essere d'aiuto.
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 le cartelle di lavoro in una (ogni foglio di lavoro verrà denominato con il prefisso del nome 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 specificati delle 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 F5 chiave per eseguire il codice. Quindi tutti i fogli di lavoro o 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 cartelle di lavoro specificati in una cartella di lavoro
Fortunatamente la documentazione dedicata a Combinare utilità cartella di lavoro di Kutools for Excel rende molto più semplice unire più cartelle di lavoro in una sola. Vediamo come far funzionare questa funzione combinando più cartelle di lavoro.
Prima di applicare Kutools for Excel, Per favore scaricalo e installalo prima.
1. Creare una nuova cartella di lavoro e fare clic su Kutools Plus > Combinare. Quindi viene visualizzata una finestra di dialogo per ricordarti che tutte le cartelle di lavoro combinate devono essere salvate e la funzione non può essere applicata alle cartelle di lavoro protette, fare clic su 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 - Passaggio 2 di 3 finestra di dialogo, fare clic su Aggiungi > Compila il or cartella per aggiungere i file Excel che unirai in uno solo. Dopo aver aggiunto i file Excel, fare clic su Fine e scegli una cartella in cui salvare la cartella di lavoro principale. Vedi screenshot:
Ora tutte le cartelle di lavoro vengono unite in una sola.
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 desideri escludere dall'unione, deselezionala semplicemente;
- 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 funzione, si prega di visitare qui.
Se vuoi avere una prova gratuita (30-day) di questa utilità, fare clic per scaricarlo, quindi andare ad applicare l'operazione secondo i passaggi precedenti.












