Jak połączyć wiele skoroszytów w jeden główny skoroszyt w programie Excel?
Czy kiedykolwiek utknąłeś, gdy musisz połączyć wiele skoroszytów w skoroszyt główny w programie Excel? Najstraszniejsze jest to, że skoroszyty, które musisz połączyć, zawierają wiele arkuszy roboczych. A jak połączyć tylko określone arkusze z wielu skoroszytów w jeden skoroszyt? Ten samouczek przedstawia kilka przydatnych metod, które pomogą Ci rozwiązać problem krok po kroku.
Połącz wiele skoroszytów w jeden skoroszyt z funkcją Przenieś lub Kopiuj
Jeśli istnieje tylko kilka skoroszytów do połączenia, możesz użyć polecenia Przenieś lub Kopiuj, aby ręcznie przenieść lub skopiować arkusze z oryginalnego skoroszytu do skoroszytu głównego.
1. Otwórz skoroszyty, które chcesz scalić w główny skoroszyt.
2. Wybierz arkusze z oryginalnego skoroszytu, które chcesz przenieść lub skopiować do głównego skoroszytu.
Uwagi:
1). Możesz wybrać wiele nieprzylegających arkuszy roboczych, przytrzymując przycisk Ctrl i klikając kolejno karty arkusza.
2). Aby wybrać wiele sąsiednich arkuszy, kliknij pierwszą kartę arkusza, przytrzymaj Shift klucz, a następnie kliknij ostatnią kartę arkusza, aby zaznaczyć je wszystkie.
3). Możesz kliknąć prawym przyciskiem myszy dowolną kartę arkusza, kliknąć Wybierz wszystkie arkusze z menu kontekstowego, aby jednocześnie zaznaczyć wszystkie arkusze w skoroszycie.
3. Po wybraniu potrzebnych arkuszy kliknij prawym przyciskiem myszy kartę arkusza, a następnie kliknij Przenieś lub skopiuj z menu kontekstowego. Zobacz zrzut ekranu:
4. Następnie Przenieś lub skopiuj pojawi się okno dialogowe, w Aby zarezerwować wybierz główny skoroszyt, do którego chcesz przenieść lub skopiować arkusze. Wybierz przeniesienie, aby zakończyć w Przed arkuszem zaznacz pole Utwórz kopię i na koniec kliknij OK przycisk.
Następnie możesz zobaczyć arkusze robocze w dwóch skoroszytach połączonych w jeden. Powtórz powyższe kroki, aby przenieść arkusze z innych skoroszytów do skoroszytu głównego.
Połącz wiele skoroszytów lub określonych arkuszy skoroszytów z głównym skoroszytem za pomocą VBA
Jeśli istnieje potrzeba scalenia wielu skoroszytów w jeden, możesz zastosować następujące kody VBA, aby szybko to osiągnąć. Wykonaj następujące czynności.
1. Umieść wszystkie skoroszyty, które chcesz połączyć, w jeden w tym samym katalogu.
2. Uruchom plik Excela (ten skoroszyt będzie skoroszytem głównym).
3. wciśnij inny + F11 klawisze, aby otworzyć Microsoft Visual Basic dla aplikacji okno. w Microsoft Visual Basic dla aplikacji okno, kliknij wstawka > Moduł, a następnie skopiuj poniższy kod VBA do okna modułu.
Kod VBA 1: Scal wiele skoroszytów programu Excel w jeden
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
Uwagi:
1. Powyższy kod VBA zachowa nazwy arkuszy oryginalnych skoroszytów po scaleniu.
2. Jeśli chcesz rozróżnić, które arkusze w głównym skoroszycie pochodzą, skąd po scaleniu, zastosuj poniższy kod VBA 2.
3. Jeśli chcesz tylko połączyć określone arkusze ze skoroszytów w główny skoroszyt, poniższy kod VBA 3 może pomóc.
W kodach VBA „C: \ Users \ DT168 \ Desktop \ KTE \”To ścieżka do folderu. W kodzie VBA 3 „Arkusz1, Arkusz3”to określone arkusze ze skoroszytów, które zostaną połączone w skoroszyt główny. Możesz je zmieniać w zależności od potrzeb.
Kod VBA 2: Scal skoroszyty w jeden (każdy arkusz zostanie nazwany z prefiksem oryginalnej nazwy pliku):
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
Kod VBA 3: Scal określone arkusze ze skoroszytów do głównego skoroszytu:
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. wciśnij F5 klucz do uruchomienia kodu. Następnie wszystkie arkusze robocze lub określone arkusze ze skoroszytów w określonym folderze są jednocześnie łączone w skoroszyt główny.
Z łatwością łącz wiele skoroszytów lub określonych arkuszy skoroszytów w jeden skoroszyt
Na szczęście, Połączyć narzędzie skoroszytu Kutools dla programu Excel znacznie ułatwia łączenie wielu skoroszytów w jeden. Zobaczmy, jak sprawić, by ta funkcja działała przy łączeniu wielu skoroszytów.
Przed złożeniem wniosku Kutools dla programu ExcelProszę pobierz i zainstaluj najpierw.
1. Utwórz nowy skoroszyt i kliknij Kutools Plus > Połączyć. Następnie pojawia się okno dialogowe przypominające, że wszystkie połączone skoroszyty powinny zostać zapisane, a funkcji nie można zastosować do chronionych skoroszytów, kliknij przycisk OK przycisk.
2. w Połącz arkusze kreatora, wybierz Połącz wiele arkuszy ze skoroszytów w jeden skoroszyt opcję, a następnie kliknij Następna przycisk. Zobacz zrzut ekranu:
3. w Połącz arkusze - krok 2 z 3 okno dialogowe, kliknij przycisk Dodaj > filet or Teczka aby dodać pliki Excela, które połączysz w jeden. Po dodaniu plików Excela kliknij koniec i wybierz folder, aby zapisać główny skoroszyt. Zobacz zrzut ekranu:
Teraz wszystkie skoroszyty są połączone w jeden.
W porównaniu z dwoma powyższymi metodami, Kutools dla programu Excel ma następujące zalety:
- 1) Wszystkie skoroszyty i arkusze są wymienione w oknie dialogowym;
- 2) W przypadku arkuszy roboczych, które chcesz wykluczyć ze scalania, po prostu odznacz to;
- 3) Puste arkusze są automatycznie wykluczane;
- 4) Oryginalna nazwa pliku zostanie dodana jako przedrostek do nazwy arkusza po scaleniu;
- Aby uzyskać więcej funkcji tej funkcji, odwiedź tutaj.
Jeśli chcesz mieć bezpłatną wersję próbną (30 dni) tego narzędzia, kliknij, aby go pobrać, a następnie przejdź do wykonania operacji zgodnie z powyższymi krokami.