Прескочи на основното съдържание

Как да обединим или консолидираме работни листове или работни книги в един работен лист?

Автор: Xiaoyang Последна промяна: 2020-04-21

В ежедневната си работа може да срещнем проблем, който обединява стотици листове или работни книги в един лист за анализиране на данни, което отнема много време, ако използвате командата Копиране и поставяне в Excel. Тук, в този урок, ще дам някои съвети за бързо решаване на тази задача.

doc съчетание 1

БЪРЗА НАВИГАЦИЯ

Обединяване на всички листове на активната работна книга в един лист с VBA
Обединяване на десетки листове или работни книги в един работен лист/работна книга с щраквания
Обединяване на две таблици в една и актуализиране по колона с кликвания
Изтеглете примерен файл


Обединяване на всички листове на активната работна книга в един лист с VBA

В този раздел предоставям VBA код, който ще създаде нов лист за събиране на всички листове на активната работна книга, докато я изпълнявате.

1. Активирайте работната книга, в която искате да комбинирате всички листове, след което натиснете + бутони за отваряне Microsoft Visual Basic за приложения прозорец.

2. В изскачащия прозорец щракнете Поставете > Модули за създаване на нов модулен скрипт.

3. Копирайте кода по-долу и го поставете в скрипта.

Sub Combine()
'UpdatebyExtendoffice
Dim J As Integer
On Error Resume Next
Sheets(1).Select
Worksheets.Add
Sheets(1).Name = "Combined"
Sheets(2).Activate
Range("A1").EntireRow.Select
Selection.Copy Destination:=Sheets(1).Range("A1")
For J = 2 To Sheets.Count
Sheets(J).Activate
Range("A1").Select
Selection.CurrentRegion.Select
Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1).Select
Selection.Copy Destination:=Sheets(1).Range("A65536").End(xlUp)(2)
Next
End Sub
doc съчетание 2

4. Натиснете F5 ключ, тогава всички данни в листовете са обединени в нов лист с име Комбиниран, който се поставя в предната част на всички листове.


да не се движат

Искате ли да получите увеличение на заплатата и много време да прекарвате със семейството си?

Разделът Office подобрява вашата ефективност с 50% в Microsoft Office, работещ точно сега

Невероятно, работата с два или повече документа е по-лесна и по-бърза от работата с един.

В сравнение с добре познатите браузъри, инструментът с раздели в Office Tab е по-мощен и по-ефективен.

Намалете стотиците щраквания с мишката и писането от клавиатурата всеки ден вместо вас, кажете сбогом на ръката с мишката сега.

Ако обикновено работите с множество документи, Office Tab ще ви спести чудесно време.

30-дневен безплатен пробен период, не се изисква кредитна карта.

Вижте повечеБезплатно изтегляне сега


Обединяване на десетки листове или работни книги в един работен лист/работна книга с щраквания

С VBA можете да комбинирате само листове в активната работна книга, но как можете да обедините листове в работни книги в лист или работна книга?

Обединяване на листове от работни книги в един лист
doc съчетание 18

Обединяване на листове от работни книги в една работна книга
doc съчетание 3

За решаване на тази задача и задоволяване на други изисквания за комбинация от листове Комбинирам функцията е разработена с четири комбинирани сценария:

  • Комбинирайте няколко листа или работни книги в един лист
  • Комбинирайте няколко листа или работни книги в една работна книга
  • Комбинирайте листове с едно и също име в един лист
  • Консолидирайте стойности в листове или работни книги в един лист

Тук вземаме втората опция като пример:

Комбинирайте няколко листа или работни книги в една работна книга

След безплатно инсталиране Kutools за Excel, моля, направете следното:

1. Активирайте Excel, щракнете Kutools плюс > Комбинирам, изскача диалогов прозорец, за да ви напомни, че трябва да затворите работните книги, които искате да комбинирате. Кликнете OK да продължи.
doc съчетание 4
doc съчетание 5

2. В Комбинирайте работни листове, стъпка 1 диалог, проверка Комбинирайте няколко работни листа от работни книги в една работна книга опция. Кликнете Напред за да преминете към следващата стъпка на съветника.
doc съчетание 6

3. кликване Добави > досие or Папка за да добавите работните книги, които искате да комбинирате към Списък с работни книги прозорец, след което можете да посочите кой работен лист ще бъде обединен, като поставите отметка в имената Списък с работни листове прозорец. Кликнете Напред за да преминете към последната стъпка на съветника.
doc съчетание 7

4. В тази стъпка задайте необходимите настройки. След това щракнете завършеност.
doc съчетание 8

5. Изскача прозорец, за да изберете папка, в която да поставите комбинираната работна книга, след което щракнете Save.
doc съчетание 9

Сега работните книги са обединени в една работна книга. И в предната част на всички листове също се създава главен лист, наречен Kutools за Excel, който изброява информация за листовете и връзки за всеки лист.
doc съчетание 10

Демонстрация: Комбинирайте листове/работни книги в един лист или работна книга

Kutools за Excel: 200 + полезни удобни инструменти, опростяващи сложните задачи в Excel с няколко кликвания.

Кажете сбогом на мишата ръка и цервикалната спондилоза сега

300 разширени инструмента на Kutools за Excel решават 80% Excel задачи за секунди, измъкват ви от хилядите кликвания на мишката.

Лесно се справяйте с 1500 работни сценария, няма нужда да губите време за търсене на решения, имайте много време да се наслаждавате на живота си.

Подобрете 80% производителност за 110000 XNUMX+ високоефективни хора всеки ден, разбира се включително и вас.

Вече няма да бъдете измъчвани от болезнени формули и VBA, дайте на мозъка си почивка и радостно работно настроение.

30-дневен безплатен пробен период с пълни функции, 30-дневно връщане на парите без причини.

По-доброто тяло създава по-добър живот.


Обединяване на две таблици в една и актуализиране по колона с кликвания

Ако искате да обедините две таблици в една и да актуализирате данни въз основа на колона, както е показано на екранната снимка по-долу, можете да опитате Обединяване на таблици полезност на Kutools за Excel.
doc съчетание 11

Kutools за Excel: повече от 200 удобни добавки за Excel за опростяване на сложни задачи с няколко кликвания в Excel

След безплатно инсталиране Kutools за Excel, моля, направете следното:

1. кликване Kutools плюс > Обединяване на таблици да се даде възможност Обединяване на таблици съветника.
doc съчетание 12

2. В стъпка 1 на съветника трябва да изберете отделно главната таблица и диапазоните на справочната таблица. След това щракнете Напред.
doc съчетание 13

3. Поставете отметка в ключовата колона, въз основа на която искате да актуализирате данните в главната таблица. Кликнете Напред.
doc съчетание 14

4. След това проверете колоните в главната таблица, в която искате да актуализирате данните въз основа на справочна таблица. Кликнете Напред.
doc съчетание 15

5. В стъпка 4 на съветника проверете колоните, които искате да добавите от таблицата за справка към основната таблица. Кликнете Напред.
doc съчетание 16

6. В последната стъпка на съветника задайте необходимите опции за настройка. След това щракнете завършеност.
doc съчетание 17

Сега основната таблица е актуализирала данните и е добавила нови данни въз основа на справочната таблица.

Демонстрация: Комбинирайте листове/работни книги в един лист или работна книга

Kutools за Excel: 200 + полезни удобни инструменти, опростяващи сложните задачи в Excel с няколко кликвания.


Изтеглете примерен файл

проба


Препоръчителни инструменти за продуктивност

Раздел Office - сърфиране с раздели, редактиране, управление на документи в Microsoft Office 2019 - 2003 и Office 365


раздел офис

Професионална добавка за ускоряване на Excel 2019-2007, свива часовете задачи до секунди

Тази добавка включва десетки професионални групи, с 300+ опции, ще автоматизира повечето от ежедневните ви задачи в Excel и ще увеличи производителността ви поне с 50%. Като групи от опции с едно щракване и пакетни реализации.
Сега е вашият шанс да се ускорите с Kutools за Excel!


Comments (168)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi, I have a system that generates an excel file everyday. The daily file name is of format "<filename-12282021>". The 12282021 is the timestamp and it changes everyday creating a new excel file each day. I want to create a Master Workbook and then append the contents of the daily excel file into that master workbook. How can I automate it so it happens by itself everyday and the master file is update with contents of the daily file.   Thank you.
This comment was minimized by the moderator on the site
Hi rd2022, sorry that I have no idea to solve your problem so far. You can go to our forum https://www.extendoffice.com/forum/excel.html to leave this message, maybe some users have the same problem and has been solved.
This comment was minimized by the moderator on the site
In combining shhets I want to add one extra column in combined sheet as ShhetName
Can you suggest ?
This comment was minimized by the moderator on the site
The Combine function of Kutools for Excel can help you to insert sheet name in a new row of each combined range in the combined sheet by checking First row of each range (new row) in Insert worksheet information section in the last step of the Combine.
This comment was minimized by the moderator on the site
Hi - this function works well except my file has more than 900 sheets, and when I change the maximum number of rows (Loc 16, "A65536") to a higher number, the macro doesn't work. Is there a way to increase the number of rows that can be shown on the combine sheet?
This comment was minimized by the moderator on the site
The VBA code works fine but I want the data to be merged horizontally(side by side).
Hope you can help.
This comment was minimized by the moderator on the site
Hi,


Great Code and for the most part it works fantastically well.


Could I suggest creating a written tutorial for each line of code. I'd love to be able to play around with it to suit my Company's needs.

In the meantime however could you talk me through problems that would hinder this code from copying all data from each Sheet? I've noticed some sheets in my workbook aren't being copied at all.

To give you some context I'm dealing with roughly 330 sheets and they hold from 50 to 500 lines in each.


looking forward to hearing from you.
This comment was minimized by the moderator on the site
Hi, Daniel, I do not understand your question as you describe it not clearly, but if you have the Combine function in Excel, it can solve most of your question about combining sheets.
This comment was minimized by the moderator on the site
Hi,

Is it possible to only copy a particular range of cells for example A:4:FU38 from each sheet?


Also in the Combined sheet where the data is copied to, can the tab names from where the data is copied included in column A to enable lookups or to pivot the data?


Finally, can i specify the list of worksheets from which to copy the data across or maybe i can specify something like copy all worksheets to the left of a particular worksheet in the file.


Thanks in advance for your help
This comment was minimized by the moderator on the site
Hi, HS, you mean to combine same ranges from sheets into one sheet, it that right? If so, this article may help you: https://www.extendoffice.com/documents/excel/2754-excel-combine-ranges-from-different-worksheets-into-one.html#a3
This comment was minimized by the moderator on the site
This VBA code is an absolute lifesaver. Thank you!!
This comment was minimized by the moderator on the site
Hi. This code works well but I have the same problem as adj. The 1st row form each tab doesn't appear in the combined tab - except he first tab. Thanks
This comment was minimized by the moderator on the site
Just delete "Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1).Select" from the code.

If you want to merge all rows from all worksheets, just use the code:

Sub Combine()

'UpdatebyExtendoffice

Dim J As Integer

On Error Resume Next

Sheets(1).Select

Worksheets.Add

Sheets(1).Name = "Combined"

Sheets(2).Activate

Range("A1").EntireRow.Select

Selection.Copy Destination:=Sheets(1).Range("A1")

For J = 2 To Sheets.Count

Sheets(J).Activate

Range("A1").Select

Selection.CurrentRegion.Select

Selection.Copy Destination:=Sheets(1).Range("A65536").End(xlUp)(2)

Next

End Sub
This comment was minimized by the moderator on the site
Yes, the code only can keep first row of the first tab, because it is used to consolidate, if you want to keep all contents of each sheet, you can try Combine utility of Kutools for Excel, it is free fior 60 days
This comment was minimized by the moderator on the site
i had a problem when I try to combine all same name worksheet to one worksheet, it works but some value are missing. so what should i do?
This comment was minimized by the moderator on the site
Hello, elok, did the problem appear while you applying Combine function? If so, please go to contact us to describe the problem with more details, our support will handle the problem for you.
This comment was minimized by the moderator on the site
Thanks that macro saved my day. I had over 40 sheets of data to combine into one and although my computer bogged for a minute or two, it completed without issue. The only modification I made was I tweaked the macro to start with A2 instead of A1 since A1 was my column headers.
This comment was minimized by the moderator on the site
Thanks for your support, Andrew, I am glad that the macro can help you.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations