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

Как объединить или объединить рабочие листы или книги в один рабочий лист?

В нашей повседневной работе мы можем столкнуться с проблемой объединения сотен листов или книг в один лист для анализа данных, что занимает много времени, если вы используете команду «Копировать и вставить» в Excel. В этом уроке я дам несколько советов по быстрому решению этой задачи.

док комбинировать 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
док комбинировать 2

4. Нажмите F5 key, то все данные на листах были объединены в новый лист с именем Combined, который помещается перед всеми листами.


не двигаться

Вы хотите повысить зарплату и много времени проводить с семьей?

Вкладка Office повышает эффективность работы Microsoft Office на 50% прямо сейчас

Невероятно, но работать с двумя или более документами проще и быстрее, чем над одним.

По сравнению с известными браузерами инструмент с вкладками в Office Tab более мощный и эффективный.

Сократите для вас сотни щелчков мыши и набора текста с клавиатуры каждый день, попрощайтесь с рукой мыши.

Если вы обычно работаете с несколькими документами, вкладка Office поможет вам сэкономить время.

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

Узнать большеСкачать сейчас


Объединение десятков листов или книг в один лист / книгу с помощью щелчков мышью

С помощью VBA вы можете объединять листы только в активной книге, но как вы можете объединить листы из книг в лист или книгу?

Объединение листов из книг в один лист
док комбинировать 18

Объединение листов из книг в одну книгу
док комбинировать 3

Для решения этой задачи и удовлетворения других требований по комбинации листов Сочетать функция была разработана с четырьмя комбинированными сценариями:

  • Объедините несколько листов или книг на один лист
  • Объедините несколько листов или книг в одну книгу
  • Объединить листы с одинаковыми именами в один лист
  • Объединяйте значения на листах или в книгах на один лист

Здесь в качестве примера рассматривается второй вариант:

Объедините несколько листов или книг в одну книгу

После бесплатная установка Kutools for Excel, сделайте следующее:

1. Активируйте Excel, щелкните Кутулс Плюс > Сочетать, появится диалоговое окно, напоминающее вам, что книги, которые вы хотите объединить, необходимо закрыть. Нажмите OK продолжать.
док комбинировать 4
док комбинировать 5

2. в Объедините рабочие листы, шаг 1 диалог, проверьте Объедините несколько листов из книг в одну книгу вариант. Нажмите Далее для перехода к следующему шагу мастера.
док комбинировать 6

3. Нажмите Добавить > Файл or Папка чтобы добавить книги, которые вы хотите объединить, в Список рабочих книг панели, затем вы можете указать, какой лист будет объединен, проверив имена в Список рабочих листов панель. Нажмите Далее перейти к последнему шагу мастера.
док комбинировать 7

4. На этом шаге укажите нужные вам настройки. Затем нажмите Завершить.
док комбинировать 8

5. Появится окно, в котором вы выберете папку для размещения объединенной книги, затем нажмите Сохраните.
док комбинировать 9

Теперь книги были объединены в одну книгу. И в начале всех листов также создается мастер-лист с именем Kutools for Excel, в котором перечислены некоторые сведения о листах и ​​ссылках для каждого листа.
док комбинировать 10

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

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

Попрощайтесь с мышиной рукой и шейным спондилезом

300 расширенных инструментов Kutools for Excel решают 80% задач Excel за секунды, избавляя вас от тысяч щелчков мышью.

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

Ежедневно повышайте производительность на 80% для более чем 110000 высокоэффективных сотрудников, включая вас.

Больше не мучиться мучительными формулами и VBA, дайте своему мозгу отдых и радостное рабочее настроение.

30-дневная бесплатная пробная версия с полным набором функций, 30-дневный возврат денег без причины.

Лучшее тело создает лучшую жизнь.


Объединение двух таблиц в одну и обновление по столбцу кликами

Если вы хотите объединить две таблицы в одну и обновить данные на основе столбца, как показано на скриншоте ниже, вы можете попробовать Слияние таблиц полезности Kutools for Excel.
док комбинировать 11

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

После бесплатная установка Kutools for Excel, сделайте следующее:

1. Нажмите Кутулс Плюс > Слияние таблиц включить Слияние таблиц Мастер.
док комбинировать 12

2. На шаге 1 мастера вам необходимо отдельно выбрать диапазоны основной таблицы и таблицы поиска. Затем нажмите Далее.
док комбинировать 13

3. Отметьте ключевой столбец, на основе которого вы хотите обновить данные в основной таблице. Нажмите Далее.
док комбинировать 14

4. Затем отметьте столбцы в основной таблице, в которых вы хотите обновить данные на основе таблицы поиска. Нажмите Далее.
док комбинировать 15

5. На шаге 4 мастера отметьте столбцы, которые вы хотите добавить из справочной таблицы в основную таблицу. Нажмите Далее.
док комбинировать 16

6. На последнем этапе мастера укажите необходимые параметры настройки. Затем нажмите Завершить.
док комбинировать 17

Теперь в основной таблице были обновлены данные и добавлены новые данные на основе таблицы поиска.

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

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


Скачать образец файла

образец


Рекомендуемые инструменты для повышения производительности

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


вкладка office

Профессиональная надстройка для ускорения работы Excel 2019-2007, сокращающая часы работы до секунд

Эта надстройка включает в себя десятки профессиональных групп, с более чем 300 опциями, которые автоматизируют большинство ваших повседневных задач в Excel и увеличивают вашу продуктивность как минимум на 50%. Например, группы опционов в один клик и пакетные преобразования.
Теперь это ваш шанс ускорить работу с Kutools for Excel!


Сортировать комментарии по
Комментарии (168)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
использовали вашу первую функцию макроса. ВОТ ЭТО ДА! спасибо за публикацию
Этот комментарий был сведен к минимуму модератором на сайте
Я думаю, что код 'Selection.Offset(0, 0).Resize(Selection.Rows.Count - 1).Select' не должно быть там. С моей стороны, он выбирает вторую строку и пропускает первую.
Этот комментарий был сведен к минимуму модератором на сайте
У меня точно такая же проблема. Он пропускает первую строку из второго добавленного листа.
Этот комментарий был сведен к минимуму модератором на сайте
Удаляет заголовки, чтобы у вас не было дублирующихся заголовков
Этот комментарий был сведен к минимуму модератором на сайте
Работает как шарм, спасибо, что поделились!
Этот комментарий был сведен к минимуму модератором на сайте
Благодарю вас! Макрос работал отлично.
Этот комментарий был сведен к минимуму модератором на сайте
Я не знаю, как использовать функцию VBN в Excel, не могли бы вы помочь, как это сделать.
Этот комментарий был сведен к минимуму модератором на сайте
Потрясающе, спасибо!!! Очень Очень Полезно
Этот комментарий был сведен к минимуму модератором на сайте
Макрос XNUMX работает нормально. Спасибо!! Это потрясающе!!!! :)
Этот комментарий был сведен к минимуму модератором на сайте
Обратите внимание, что это ограничение ограничено 65 тыс. строк, если вам нужно поднять строку Selection.Copy Destination:=Sheets(1).Range("A65536").End(xlUp)(2) для решения проблемы.
Этот комментарий был сведен к минимуму модератором на сайте
Отличный инструмент, однако он не объединяет все 21 лист. Как расширить ассортимент?
Этот комментарий был сведен к минимуму модератором на сайте
ПРИМЕЧАНИЕ!!! Вы должны быть осторожны с макросом. Он будет работать, если ваши данные имеют непрерывный поток информации и нет пустой строки. это то, что делает строка «Selection.CurrentRegion.Select». Например, если вам нужно скопировать ВСЕ данные в электронной таблице, но есть пустая строка (скажем) в строке 200, макрос скопирует только строку 200; ЭТО БУДЕТ ИГНОРИРОВАТЬ ВСЕ ДАННЫЕ НИЖЕ ЭТОЙ СТРОКИ!!!
Этот комментарий был сведен к минимуму модератором на сайте
Кто-нибудь знает команду, чтобы избежать этой проблемы?? Проблема с Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1).Select может быть решена? Selection.Rows.Count — 1) — это команда, вызвавшая проблему. Кто угодно??
Этот комментарий был сведен к минимуму модератором на сайте
Вместо того, чтобы начинать сверху и спускаться вниз, начните снизу и поднимайтесь вверх
Этот комментарий был сведен к минимуму модератором на сайте
Кто-нибудь знает код для решения проблем с пустыми строками и столбцами? У меня есть это в моих данных, но нет простого решения, как начать снизу вверх? Спасибо!
Этот комментарий был сведен к минимуму модератором на сайте
Для удаления пустых строк: Вариант 1: Выберите ячейки в столбце A, которые необходимо удалить. Используйте Ctrl-, а затем выберите «Вся строка» во всплывающем окне. Сохраните книгу и выйдите. Затем откройте рабочую тетрадь. Вариант 2. Выберите строки, которые необходимо удалить. Используйте Ctrl-. Сохраните книгу и выйдите из открытой книги. Дал вариант 1, чтобы вам было видно, что происходит. Для удаления пустых столбцов: Выберите столбец. Ctrl -. Сохраните книгу и выйдите из открытой книги.
Этот комментарий был сведен к минимуму модератором на сайте
Есть ли у нас какое-либо решение для копирования данных ниже пустой ячейки?
Этот комментарий был сведен к минимуму модератором на сайте
Благодарю вас ! Мой 2-й ряд был пуст на всех листах, и я был сбит с толку.
Этот комментарий был сведен к минимуму модератором на сайте
код vba работал отлично, но мне нужно, чтобы объединенный лист обновлялся, когда я добавляю новые строки или новые данные в ячейки на листах, которые я объединяю. Есть ли способ сделать это? Спасибо за помощь.
Этот комментарий был сведен к минимуму модератором на сайте
Код макроса прекрасно работал для первого комбинированного рабочего листа, но мне нужно, чтобы объединенный рабочий лист обновлялся по мере добавления данных в существующие рабочие листы, которые я объединяю. Есть ли способ сделать это?
Этот комментарий был сведен к минимуму модератором на сайте
Вы когда-нибудь выясняли, как заставить его обновляться в мастере, когда вы добавляете строки в другие рабочие листы?
Этот комментарий был сведен к минимуму модератором на сайте
Отличная работа. Это сократило мою работу с 2 часов до 10 минут.
Этот комментарий был сведен к минимуму модератором на сайте
Отлично, я использовал как первый макрос, так и Kutools, оба значительно сократили мою работу по сбору данных и компиляции. Спасибо, что поделился.
Этот комментарий был сведен к минимуму модератором на сайте
Я просто стер часть, указанную ниже, и теперь она только обновляется. Надеюсь, это поможет... Sheets(1).Select Worksheets.Add
Этот комментарий был сведен к минимуму модератором на сайте
Код работает отлично! Мне нужен макрос для копирования всех данных на листах. Он отрезает первую строку после Листа 1. Только один лист имеет строку заголовка, остальные листы - это просто данные. Это возможно?
Этот комментарий был сведен к минимуму модератором на сайте
У меня есть вопрос о «Объединить все рабочие листы в один рабочий лист с кодом VBA»: код работает очень хорошо, но только когда он пуст, он добавляет заголовок, можно ли изменить код, чтобы он не объединял пустой лист?
Этот комментарий был сведен к минимуму модератором на сайте
Спасибо, вы сэкономили мне час копирования и вставки: D
Этот комментарий был сведен к минимуму модератором на сайте
Есть две рабочие книги, те же данные, но во второй есть дополнительные данные, а некоторые данные были обновлены, статус inv# 123 7/2 открыт статус inv# 123 7/2 открыт 7/7 закрыт как объединить в одну удаление или выделение дубликатов и добавление любой новый inv# не в первом
Этот комментарий был сведен к минимуму модератором на сайте
Отлично работает, если ваш столбец A не пуст. На листах с колонкой А незаполненной она как бы затирается. В моем столбце dtaa E не является пустым на всех листах. Как я могу изменить пункт назначения копирования, чтобы учесть пустой столбец A на некоторых листах?
Этот комментарий был сведен к минимуму модератором на сайте
Sub CopySheet() ' ' Макрос CopySheet ' ' Dim i As Integer For i = 2 To 25 Sheets ("Sheet1"). Выберите диапазон ("A1"). Выберите выделение. Конец (xlDown). Выберите диапазон ("A" & CStr(Selection.Row) + 1).Select Sheets("Sheet" & CStr(i)).Select Range("A2").Select Range(Selection, Selection.End(xlDown)).Select Range(Selection, Selection .End(xlToRight)).Select Selection.Cut Sheets("Sheet1").Select ActiveSheet.Paste Next End Sub
Этот комментарий был сведен к минимуму модератором на сайте
Range («A: A»). 'Размерьте i как целое число для i = от 1 до 0 листов ("Лист2"). Выберите диапазон ("A25"). Выберите выделение. Конец (xlDown). Выберите диапазон ("A" и CStr (Selection.Row) + 1) .Select Sheets("Sheet" & CStr(i)).Select Range("A1").Select Range(Selection, Selection.End(xlDown)).Select Range(Selection, Selection.End(xlToRight)).Select Selection .Cut Sheets("Sheet1").Выберите ActiveSheet.Paste Next End SubКлопез[/ Цитата]
Этот комментарий был сведен к минимуму модератором на сайте
МАКРО-КОД РАБОТАЕТ ТАК ХОРОШО... ПОТРЯСАЮЩАЯ РАБОТА :-)
Здесь еще нет комментариев
Загрузить ещё
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места