Note: The other languages of the website are Google-translated. Back to English

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 przesunięcie 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 Dalej 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 skorzystać z bezpłatnego okresu próbnego (30-dzień) tego narzędzia, kliknij, aby go pobrać, a następnie przejdź do wykonania operacji zgodnie z powyższymi krokami.


Kutools dla programu Excel - Pomaga zawsze kończyć pracę z wyprzedzeniem, mieć więcej czasu na cieszenie się życiem
Czy często zdarza Ci się nadrobić zaległości w pracy, brak czasu dla siebie i rodziny?  Kutools dla programu Excel może pomóc ci sobie z tym poradzić 80% Ułóż puzzle Excel i zwiększ wydajność pracy o 80%, daj więcej czasu na opiekę nad rodziną i cieszenie się życiem.
300 zaawansowanych narzędzi do 1500 scenariuszy pracy sprawia, że ​​Twoja praca jest o wiele łatwiejsza niż kiedykolwiek.
Nie musisz już zapamiętywać formuł i kodów VBA, daj mózgowi odpocząć od teraz.
Skomplikowane i powtarzalne operacje można wykonać jednorazowo w ciągu kilku sekund.
Zredukuj tysiące operacji wykonywanych za pomocą klawiatury i myszy każdego dnia, pożegnaj się z chorobami zawodowymi.
Zostań ekspertem Excela w 3 minuty, pomóż szybko zostać rozpoznanym i awansować na podwyżkę.
110,000 300 wysoce skutecznych ludzi i wybór ponad XNUMX znanych na całym świecie firm.
Spraw, aby Twoje 39.0 $ było warte więcej niż 4000.0 $ szkolenia innych.
Pełna wersja bezpłatnej wersji próbnej 30-dzień. 60-dniowa gwarancja zwrotu pieniędzy bez powodu.

Sortuj komentarze według
Komentarze (146)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Plz, pomóż mi w tym poniższym stanie. Mam inny skoroszyt, który zawiera więcej niż 5 arkuszy, każdy w innej ścieżce. Muszę skonsolidować wszystkie arkusze z innego skoroszytu w jeden skoroszyt. Czy ktoś może mi pomóc rozwiązać za pomocą macro.TIA!
Ten komentarz został zminimalizowany przez moderatora na stronie
[cytat] Cześć Plz, pomóż mi do tego poniższego stanu. Mam inny skoroszyt, który zawiera więcej niż 5 arkuszy w innej ścieżce. Muszę skonsolidować wszystkie arkusze z innego skoroszytu w jeden skoroszyt. Czy ktoś może mi pomóc rozwiązać za pomocą macro.TIA!Autor: A. Karthi[/ cytat] Przejdź, aby pobrać i zainstalować Kutools dla programu Excel, możesz szybko to zrobić. Ale jeśli chcesz użyć VBA, może to być zbyt skomplikowane. Aby uzyskać więcej informacji o tym, jak to zrobić, odwiedź:http://www.extendoffice.com/product/kutools-for-excel/excel-combine-worksheets-into-one.html
Ten komentarz został zminimalizowany przez moderatora na stronie
KUTOOLS Niesamowite rozwiązanie. Potrzebuję jeszcze jednej pomocy podczas tworzenia skoroszytu głównego, a następnie kolor komórki arkusza roboczego zostanie zmieniony z oryginalnego arkusza roboczego. Jak mogę zachować to jak oryginalny arkusz.
Ten komentarz został zminimalizowany przez moderatora na stronie
Nasze biuro posiada powielanie danych (tj. imię i nazwisko, adres, miasto, kwota, data podpisania) z kilku oryginałów excela i próba połączenia danych będzie w toku. Jak to zrobić, aby wyeliminować podwójną pracę i podwójne wpisy informacji?
Ten komentarz został zminimalizowany przez moderatora na stronie
Otrzymuję „błąd wykonania 1004”, metoda kopiowania klasy arkusza roboczego nie powiodła się w wierszu, który brzmi: Sheet.Copy After:=ThisWorkbook.Sheets(1). Używam programu Excel 2010. Czy możesz pomóc? Dzięki, - Susie
Ten komentarz został zminimalizowany przez moderatora na stronie
Hej Susie, ja sam od jakiegoś czasu pracuję nad tym problemem, otrzymuję ten sam błąd. Sprawdź, czy moduł został utworzony w kategorii OSOBISTE, a nie w aktywnym skoroszycie. Po utworzeniu modułu w odpowiednim drzewie poniższy kod działał dobrze. Sub GetSheets_xls() Dim Sheet As Worksheet Path = "C:\Users\yournamehere\Desktop\Testingfolder\" Filename = Dir(Path & "*.xls") Do While Filename "" Workbooks.Open Filename:=Ścieżka i nazwa pliku, ReadOnly:=False Set Sheet = ActiveWorkbook.Sheets(1) Sheet.Copy After:=ThisWorkbook.Sheets(1) 'Skoroszyty następnego arkusza (Nazwa pliku).Close Filename = Dir() Koniec pętli Sub Mam nadzieję, że to pomoże!
Ten komentarz został zminimalizowany przez moderatora na stronie
Wielkie dzięki. Twój kod działał dobrze.
Ten komentarz został zminimalizowany przez moderatora na stronie
[cytat]Otrzymuję „błąd wykonania 1004”, metoda kopiowania klasy arkusza roboczego nie powiodła się w wierszu o treści: Sheet.Copy After:=ThisWorkbook.Sheets(1). Używam programu Excel 2010. Czy możesz pomóc? Dzięki, - Susieprzez Susie[/quote] Miałem ten sam problem, działa, gdy przechodzę do przeglądania i odkrywania „OSOBISTE”, wydaje się mieć problem z dostępem do tego makra z ukrytym wzorcem.
Ten komentarz został zminimalizowany przez moderatora na stronie
Przejdź do przeglądania i odkrywania „OSOBISTE” — wydaje się, że ma problem z wykonaniem całego kodu, gdy master jest ukryty. Możesz uczynić makro natywnym dla tego skoroszytu, ale będziesz musiał odtworzyć całość za każdym razem, gdy chcesz go użyć
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć! Wielkie dzięki za ten plik........... :roll: Z poważaniem
Ten komentarz został zminimalizowany przez moderatora na stronie
Hej Świetna wskazówka. Zrobili prawie wszystko czego chciałem. W skoroszycie combinde bardzo bym chciał, aby nazwa arkusza zawierała nazwę oryginalnego skoroszytu, więc wiem, z którego skoroszytu pochodzą dane. Dane, które łączę, pochodzą z różnych archiwów. Muszę poszukać wpisu, ale nie wiem, w jakim archiwum się znajduje. Tak więc połączenie wszystkich danych w jednym pliku umożliwi mi jednoczesne przeszukanie wszystkich archiwów. Ale nadal muszę wiedzieć, w którym archiwum znajduje się wpis. Henrik
Ten komentarz został zminimalizowany przez moderatora na stronie
Aby kod zawierał nazwę pliku, po prostu zrób to. Sub GetSheets() Dim temp As String Path = "C:\Users\....\Desktop\Excel merge\" Filename = Dir(Path & "*.xlsx") Do While Filename "" Workbooks.Open Filename:= Ścieżka i nazwa pliku, ReadOnly:=True temp = ActiveWorkbook.Name ActiveSheet.Name = temp ActiveWorkbook.Sheets(temp).Copy After:=ThisWorkbook.Sheets(1) Workbooks(Filename).Close Filename = Dir() Koniec pętli Uwaga podrzędna : jest to kopiowanie tylko pierwszego arkusza, można go poprawić, aby wykonać wszystkie arkusze
Ten komentarz został zminimalizowany przez moderatora na stronie
Jak dołączyć więcej arkuszy i jak określić inny plik główny, aby wkleić wszystkie arkusze.
Ten komentarz został zminimalizowany przez moderatora na stronie
To naprawdę świetne rozwiązanie. Dziękuję Ci. Jednak jeden problem, kiedy wykonam go w ten sposób, zapytam, czy chcę zapisać zmiany przed zamknięciem (ponieważ nazwa została zmieniona) i nie chcę tego robić dla każdego pliku (około 32 na wykonanie). Czy byłby sposób na rozwiązanie tego?
Ten komentarz został zminimalizowany przez moderatora na stronie
To jest wspaniałe :lol: bardzo mi pomogło....
Ten komentarz został zminimalizowany przez moderatora na stronie
Dzięki kolego, ułożyłeś mój dzień na tej bardzo pomocnej stronie internetowej ... Właściwie chciałem również połączyć te same dane nagłówka różnych arkuszy w 1 arkusz główny, KUTOOL for Excel bardzo mi pomógł .... Jeszcze raz dziękuję .... :)
Ten komentarz został zminimalizowany przez moderatora na stronie
Dziękuję bardzo za cenne informacje. To naprawdę działa. Kroki wymienione w tym artykule naprawdę ułatwiły mi pracę. Dzięki, Dinesh
Ten komentarz został zminimalizowany przez moderatora na stronie
dzięki za podzielenie się swoją wiedzą
Ten komentarz został zminimalizowany przez moderatora na stronie
Jak uzyskać, aby zaktualizować zmiany z oryginalnego skoroszytu? Próbuję uzyskać krajowe podsumowanie, w którym każdy region wprowadzi swoje dane do własnych skoroszytów, a następnie będzie mieć krajowe podsumowanie, które będzie aktualizowane z tego? Chciałbym, żeby to było ustawione na cały rok na początku i nie pracowałem wstecz.
Ten komentarz został zminimalizowany przez moderatora na stronie
Po połączeniu arkuszy roboczych w jeden skoroszyt, jak go zapisać, nie mogłem go zapisać, nazywa się Book1 i klikam Zapisz lub zapisz jako, ale nie działa. Jakieś sugestie?
Ten komentarz został zminimalizowany przez moderatora na stronie
Postępowałem zgodnie z instrukcjami „Połącz wiele skoroszytów w jeden skoroszyt za pomocą VBA” i kliknąłem „Uruchom”, nic się nie stało. Nie jestem świadomy błędów i nie wiem, jak je poprawić. Czy pomógłbyś mi? poniżej znajduje się kod, który wprowadziłem do nowego skoroszytu. Dziękuję Ci Sub GetSheets() Path = "p:\download\macro\" Filename = Dir(Path & "*.xls") Do While Filename "" Workbooks.Open Filename:=Ścieżka i nazwa pliku, ReadOnly:=True dla każdego arkusza w ActiveWorkbook.Sheets Sheet.Copy After:=ThisWorkbook.Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Szanowni Państwo: Postępowałem zgodnie z instrukcjami „Połącz wiele skoroszytów w jeden skoroszyt za pomocą VBA”, aby skonfigurować następujący moduł, ale nic się nie stało. Pomożesz mi znaleźć problem? dziękuję Sub GetSheets() Path = "p:\download\macro\" Filename = Dir(Path & "*.xls") Do While Filename "" Workbooks.Open Filename:=Ścieżka i nazwa pliku, ReadOnly:=True For Each Arkusz w ActiveWorkbook.Sheets Sheet.Copy After:=ThisWorkbook.Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop End Sub Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
w przypadku nowszych wersji programu Excel wypróbuj to. Zapisałem otwarty skoroszyt jako katalog, a wszystkie pliki znajdują się w c:\temp. Sub GetSheets() Path = "c:\temp\" Filename = Dir(Path & "*.xls") Do While Filename "" Workbooks.Open Filename:=Ścieżka i nazwa pliku, ReadOnly:=True dla każdego arkusza w ActiveWorkbook. Sheets Sheet.Copy After:=Workbooks("catalog.xlsx").Sheets(1) Następne skoroszyty arkusza(Filename).Close Filename = Dir() Loop End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Wypróbuj to dla nowszych wersji programu Excel. Zapisałem skoroszyt jako katalog, wszystkie pliki znajdują się w c:\temp. Sub GetSheets() Path = "c:\temp\" Filename = Dir(Path & "*.xls") Do While Filename "" Workbooks.Open Filename:=Ścieżka i nazwa pliku, ReadOnly:=True dla każdego arkusza w ActiveWorkbook. Sheets Sheet.Copy After:=Workbooks("catalog.xlsx").Sheets(1) Następny arkusz skoroszytów(Filename).Close Filename = Dir() Loop End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
[cytat]Wypróbuj to dla nowszych wersji programu Excel. Zapisałem skoroszyt jako katalog, wszystkie pliki znajdują się w c:\temp. Sub GetSheets() Path = "c:\temp\" Filename = Dir(Path & "*.xls") Do While Filename "" Workbooks.Open Filename:=Ścieżka i nazwa pliku, ReadOnly:=True dla każdego arkusza w ActiveWorkbook. Sheets Sheet.Copy After:=Workbooks("catalog.xlsx").Sheets(1) Następne skoroszyty arkusza(Filename).Close Filename = Dir() Loop End SubPrzez Dave'a[/cytat] Ciągle otrzymuję komunikat „nie można przypisać do właściwości tylko do odczytu” dotyczący ścieżki... Jakiś pomysł?
Ten komentarz został zminimalizowany przez moderatora na stronie
Ja też mam ten problem. Rozgryzłeś to?
Ten komentarz został zminimalizowany przez moderatora na stronie
Jeszcze nic... Nie znalazłem żadnego rozwiązania ani nikt nie zaproponował rozwiązania. Przepraszam...
Ten komentarz został zminimalizowany przez moderatora na stronie
Ja też. To działało 6 miesięcy temu, ostatni raz musiałem go uruchomić. Czy ktoś już znalazł rozwiązanie? Jeśli miałbyś go już uruchomiony, a teraz nie będzie działał, czy może to być coś związanego z aktualizacją firmy Microsoft? To naprawdę przydatne narzędzie do moich zadań i oszczędza mnóstwo czasu. Co mogło się zmienić, że program Excel nagle zaczął wyświetlać ten komunikat? Będąc dość nowym w VBA, nie mam pojęcia, od czego zacząć analizę logiki. Z poważaniem, Greg. Glasgow, Szkocja.
Ten komentarz został zminimalizowany przez moderatora na stronie
Wygląda na to, że "Ścieżka" jest teraz zarezerwowana, więc użyj dowolnej innej nazwy i zastąp "Ścieżkę", np. "Mypath".
Ten komentarz został zminimalizowany przez moderatora na stronie
Może powinieneś zmienić ReadOnly:=True na ReadOnly:=False, zrobiłem i to było pomocne
Ten komentarz został zminimalizowany przez moderatora na stronie
Szukałem czegoś w tym stylu, ale chciałem skomentować. Czy nazwa pliku Do While „” nie musi być czymś innym niż „”? czy źle to czytam? Może Do While NOT filename = "" Tylko myśl...
Ten komentarz został zminimalizowany przez moderatora na stronie
Chcę połączyć wszystkie arkusze w jeden arkusz, w którym nagłówki są wspólne... pls help
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, próbowałem użyć powyższych makr do zestawienia kilku plików, niestety bez rezultatów... czy ktoś może mi pomóc w pozbyciu się ręcznego sortowania plików.
Ten komentarz został zminimalizowany przez moderatora na stronie
Mam 112 arkuszy Excela, które chcę umieścić w jednym arkuszu bez kopiowania i wklejania. Proszę pomóż mi.
Ten komentarz został zminimalizowany przez moderatora na stronie
Mam skoroszyt, który zawiera około 250 arkuszy. Potrzebuję Cobaina w jednym arkuszu. proszę daj mi rozwiązanie
Ten komentarz został zminimalizowany przez moderatora na stronie
Wypróbuj to ... Mam to z innej strony, ale niestety nie pamiętam imienia kobiety, więc przepraszam za brak wzmianki o niej, moja zła" Połącz wiele WB w programie Excel: PAMIĘTAJ, ABY ZMIENIĆ MyPath = ! Sub Merge2MultiSheets ( ) Dim wbDst As Workbook Dim wbSrc As Workbook Dim wsSrc As Worksheet Dim MyPath As String Dim strFilename As String Application.DisplayAlerts = False Application.EnableEvents = False Application.ScreenUpdating = False MyPath = "\\MojaŚcieżka\etc\etc..." Set wbDst = Workbooks.Add(xlWBATWorksheet) strFilename = Dir(MyPath & "\*.xls", vbNormal) If Len(strFilename) = 0 Następnie zakończ Sub Do dopóki strFilename = "" Set wbSrc = Workbooks.Open(Filename:= MyPath & "\" & strFilename) Set wsSrc = wbSrc.Worksheets(1) wsSrc.Copy After:=wbDst.Worksheets(wbDst.Worksheets.Count) wbSrc.Close False strFilename = Dir() Pętla wbDst.Worksheets(1). Usuń Application.DisplayAlerts = True Application.EnableEvents = True Application.ScreenUpdating = True End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, dodałem kod do modułu. Nazwany książką Excel Masterfile. Gdzie w kodzie mam dodać. Dziękuję Ci
Ten komentarz został zminimalizowany przez moderatora na stronie
Żaden z nich nie działał dla mnie. W końcu udało mi się to zadziałać. FYI Używam 2010 'Opis: Łączy wszystkie pliki w folderze do pliku głównego. Sub MergeFiles() Dim ścieżka 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 RowofCopySheet = 2 ' Wiersz, od którego ma się zaczynać w arkuszach, z których kopiujesz ThisWB = ActiveWorkbook.Name path = "mypath....." ' Nie zapomnij zmienić tego Application.EnableEvents = False Application.ScreenUpdating = False Set shtDest = ActiveWorkbook .Sheets(1) Filename = Dir(ścieżka & "\*.xls", vbNormal) If Len(Filename) = 0 Następnie wyjdź Sub Wykonaj dopóki Filename = vbNullString If Not Filename = ThisWB Then Set Wkb = Workbooks.Open(Filename: =ścieżka & "\" i nazwa pliku) Set CopyRng = Wkb.Sheets(1).Range(Cells(RowofCopySheet, 1), Cells(ActiveSheet.UsedRange.Rows.Count, ActiveSheet.UsedRange.Columns.Count)) Set Dest = shtDest.Range("A" & shtDest.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1) CopyRng.Copy Dest Wkb.Close False End If Filename = Dir() Loop Rang e("A1").Select Application.EnableEvents = True Application.ScreenUpdating = True MsgBox "Gotowe!" Napis końcowy
Ten komentarz został zminimalizowany przez moderatora na stronie
Jak mogę to edytować, aby pobierane dane zawsze zaczynały się w górnym wierszu? Jeśli uruchomię ten kod dwa razy, dane zostaną dodane na końcu moich poprzednich danych (z pierwszego uruchomienia makra).
Ten komentarz został zminimalizowany przez moderatora na stronie
Zmień ten wiersz: RowofCopySheet = 2 na RowofCopySheet = 1
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, mam wiele plików Excel (pojedynczy arkusz) różnych folderów z ochroną hasłem. chcę na koniec dnia połączyć wszystkie dane w jeden plik główny. Za każdym razem, gdy muszę wpisać hasło i otworzyć plik, a następnie skopiować i wkleić do pliku głównego. Uprzejmie proszę o pomoc z kodem VBA.
Nie ma tu jeszcze żadnych komentarzy
Pokaż więcej

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL