Типичная задача - имеем несколько однотипных таблиц на разных листах рабочей книги. Хотим, чтобы при внесении данных в любую из этих таблиц - данные добавлялись в одну общую таблицу, расположенную на отдельном листе.

Инструкция

Устанавливаем себе надстройку ЁXCEL. Читаем справку.

Приступаем к решению. Переходим во вкладку ЁXCEL главного меню, нажимаем кнопку "Таблицы", в выпавшем списке выбираем команду "Объединить таблицы":

В открывшемся диалоговом окне выделяем листы с таблицами, которые необходимо объединить и нажимаем "ОК":

Программа сформирует запрос - объединит таблицы и выведет информационное сообщение:

Переходим на итоговый лист (тот где хотим вывести общую таблицу), устанавливаем курсор в ячейку "A1". Переходим в главном меню во вкладку "Данные" в разделе "Получение внешних данных" нажимаем кнопку "Существующие подключения":

В открывшемся диалоговом окне выбираем "Подключения в этой книге" - "Запрос из Excel Files" и нажимаем "Открыть":

В открывшемся диалоговом окне устанавливаем переключатели в положения "Таблица" и "Имеющийся лист", нажимаем "ОК":

Как объединить две таблицы и более в одну?

В активном листе будет создана таблица, которая будет объединять таблицы, расположенные на указанных нами листах:

kak-ob-edinit-dve-tablitsy-i-bolee-v-odnu_2.gif

Теперь все таблицы связаны. Добавьте новые строчки в любую из объединенных таблиц. Перейдите во вкладку "Данные" и нажмите кнопку "Обновить все":

kak-ob-edinit-dve-tablitsy-i-bolee-v-odnu_3.gif

В итоговой таблице появятся строчки, добавленные в выбранный вами лист.

Чтобы обновление итоговой таблицы происходило автоматически вставьте в модуль каждого листа (кроме Итогового) следующий код (Как вставлять макросы?):

Private Sub Worksheet_Change(ByVal Target As Range)
    ActiveWorkbook.RefreshAll
End Sub

Важно:

  • Количество столбцов во всех таблицах должно быть одинаково;
  • Кроме таблиц на листах не должно быть никакой информации;
  • Если вы переместили файл в другую папку или отправили файл коллеге по электронной почте - необходимо заново связать таблицы (в запросе прописывается абсолютный путь к файлу).

Чтобы запрос работал не зависимо от того в какой папке лежит файл вставьте в модуль "ЭтаКнига" следующий код:

Private Sub Workbook_Open()
    Dim q As String
    On Error Resume Next
    q = Application.ThisWorkbook.Path & "\" & Application.ThisWorkbook.Name 'Определяем текущий путь к файлу
    With ActiveWorkbook.Connections("Запрос из Excel Files").ODBCConnection 'Имя запроса
        .Connection = "ODBC;DSN=Excel Files;DBQ=" & q & _
        ";DriverId=1046;MaxBufferSize=2048;PageTimeout=5;"  'Меняем строку подключения
    End With
End Sub

Данный макрос при открытии книги будет определять текущий путь к файлу и менять путь к файлу в запросе.

Файлы для скачивания:
ФайлОписаниеРазмер файла:Скачивания
Скачать этот файл (P_Hitrosti.zip)Пример 21 Кб2961

Чтобы оценить всю прелесть - выньте файл из архива и при загрузке файла включите макросы.

Возможные ошибки при использовании этого метода:

  • В таблицах одинаковое количество столбцов, но при попытке использовать запрос получаем сообщение: "В таблицах или запросах, выбранных в запросе на объединение, не совпадает число столбцов." Причина: в одном или нескольких листах с таблицами есть пустые столбцы (в них раньше были данные) и MS Excel считает их столбцами таблиц. Решение: Выделить и удалить все пустые столбцы на листах с таблицами.
  • Все столбцы удалили, но ошибка осталась. Причина: файл сохранен на сетевом диске или открыт из почтовой программы. Решение: сохраните файл у себя на локальном компьютере, выполните запрос, вставьте в него макрос меняющий путь в запросе и выложите обратно в сеть (если нужно).
  • В полученном запросе в некоторых ячейках пропадают данные. Причина: в ваших таблицах встречаются столбцы, которые одновременно содержатся и числовые и текстовые значения. MS Excel считает, что эти столбцы должны содержать только числа и не выводит текст. Решение: преобразуйте все числовые значения в этих столбцах во всех таблицах в текстовые. Обновите запрос - текстовые данные появятся.

Добавить комментарий

Комментарии  

# Евгений 18.07.2023 10:13
Добрый день. помогите сформировать одну таблицу из множеста разных книг(таблицы одинаковые). В каждой книге несколько вкладок с одинаковыми названиями.
Ответить | Ответить с цитатой | Цитировать
# Иркэ 24.06.2023 20:49
Доброго времени. Есть две таблицы с данными-1: ФИО, место госпитализации, 2: ФИО ,группа инвалидности. Не все ФИО в 1 и 2 таблицах не однозначны. Как объединить таблицы так,чтобы они объединились по ФИО, место госпитализации, группа инвалидности?
Благодарю
Ответить | Ответить с цитатой | Цитировать
# Виктория Р. 20.04.2023 18:26
Здравствуйте, есть одна общая таблица на весь коллектив, когда один из работников вносит в нее данные другой работник не может вывести в неё данные. Как можно решить эту проблему?
Ответить | Ответить с цитатой | Цитировать
# Николай Д. 30.08.2022 09:59
И еще вводная, чтобы в отдельных файлах при изменении, данные в сводной тоже менялись
Ответить | Ответить с цитатой | Цитировать
# Николай Д. 29.08.2022 12:38
Добрый день! А как объединить несколько файлов? Просто если по отдельности сливать, фильтр не работает
Ответить | Ответить с цитатой | Цитировать
# Guest 16.08.2022 12:45
Количество столбцов одинаковое (пронумерован каждый) - таблицы не объединяются - "количество столбцов не совпадает"! В чем проблема?
Ответить | Ответить с цитатой | Цитировать
# Хвостов Сергей 18.08.2022 14:27
Добрый день! Видимо в листе есть столбцы, в которых раньше были данные и они были удалены через "Del". Эти столбцы нужно удалить. Выделите все пустые столбцы и удалите их, или воспользуйтесь вот этой командой из надстройки - "Удалить все пустые столбцы" - https://e-xcel.ru/index.php/komandy/listy/udalit-vse-pustye-stolbtsy
Ответить | Ответить с цитатой | Цитировать
# Павел1254 02.08.2022 12:19
Добрый день . Как можно объединить несколько умных таблиц в одну ,только нужным столбцам? спасибо
Ответить | Ответить с цитатой | Цитировать
# Хвостов Сергей 18.08.2022 14:28
Уточните пожалуйста задачу. Не совсем понял.
Ответить | Ответить с цитатой | Цитировать
# Наталья1987 05.10.2021 00:45
Сергей, добрый день!
Подскажите, пожалуйста, как можно свести около 20 таблиц в одну, если при этом в шапках у всех этих таблиц не всегда совпадает количество столбцов? Спасибо.
Ответить | Ответить с цитатой | Цитировать
# Хвостов Сергей 11.10.2021 09:47
Добрый день! Наталья, надо посмотреть, так сложно решение предложить. Можете мне на почту кинуть? Почта тут: https://e-xcel.ru/index.php/kontakty
Ответить | Ответить с цитатой | Цитировать
# aiguulya 18.02.2020 14:12
Здравствуйте!
У меня 54 листа с данными, при объединении выходит ошибка "Слишком сложный запрос". По частям на одном листе не получается "Внутренняя ошибка программировани я объектов".
Ответить | Ответить с цитатой | Цитировать
# Хвостов Сергей 18.02.2020 18:17
Добрый день! Да 54 листа это много. Я сейчас пишу команду которая будет делать это статично без ограничений. Пока предлагаю такое решение. Объедините 10 листов, выведите итог, и так несколько раз. потом объедините итоги.
Ответить | Ответить с цитатой | Цитировать
# aiguulya 19.02.2020 08:19
Точно! Сасибо!
Ответить | Ответить с цитатой | Цитировать
# Елена36 04.03.2019 17:26
Добрый день. Есть таблица с названиями позиций в хаотичном порядке и есть вторая таблица сверенная с проставленными артикулами этих же позиций но в алфавитном порядке. Нужно артикулы из второй проставить напротив соответствующих позиций в первой таблице в которой позиции в хаотичном порядке.
Ответить | Ответить с цитатой | Цитировать
# Хвостов Сергей 05.03.2019 07:22
Попробуйте так: https://e-xcel.ru/index.php/vozmozhnosti/kak-bystro-ob-edinit-dannye-iz-dvukh-tablits
Ответить | Ответить с цитатой | Цитировать
# yana2702 06.12.2018 09:42
Подскажите, пожалуйста, как объединить 2 таблицы , обе с ФИО (в одной таблице ФИО может быть, в другой этой ФИо может не быть) с доходами за 2 разных года. Их надо объединить в одну.
Ответить | Ответить с цитатой | Цитировать
# Хвостов Сергей 06.12.2018 15:23
Подставьте одну таблицу под другую напротив каждой проставьте свой год в отдельный столбец и постройте сводную таблицу: https://e-xcel.ru/index.php/svodnye-tablitsy/kak-postroit-svodnuyu-tablitsu
Если не совсем понятно киньте мне пример на почту. Почта тут: https://e-xcel.ru/index.php/kontakty
Ответить | Ответить с цитатой | Цитировать
# ИльяД 15.04.2018 16:46
Еще, вопрос. Хочу сливать сразу много однотипных таблиц. Но не все данные а только первые 15 столбцов.
Начиная с 16-й колонки у меня расчетные данные, которые не нужно сливать.

Это возможно?
Ответить | Ответить с цитатой | Цитировать
# Хвостов Сергей 16.04.2018 08:46
Киньте пример на почту!
Ответить | Ответить с цитатой | Цитировать
# ИльяД 15.04.2018 16:24
Здравствуйте!
два вопроса.
1. Как выключить фильтр при обновлении?он мешает.
2. Как сделать между вставляемыми таблицами строку с заголовком блока или хотя бы пустую строку?
Ответить | Ответить с цитатой | Цитировать
# Хвостов Сергей 16.04.2018 08:46
Киньте пример на почту.
Ответить | Ответить с цитатой | Цитировать
# Андрей1 19.07.2017 13:25
Здравствуйте! Подскажите, пожалуйста, как добавить значение из одной таблицы в другую. Есть ТАБЛИЦА №1 в которой 5 столбцов: 1- Назв.клиента, 2-структурн.под раздел. клиента,3-обслу живающий этого клиента сотрудник, 4-отдел этого сотрудника,5-ру ководитель этого сотрудника. И есть ТАБЛИЦА №2, в которой есть только два поля 1-Назв.клиента, 2- структурн.подра здел. клиента, а вот остальных трех полей (3,4,5) нет. Нужно добавить оставшиеся 3 поля из ТАБЛ.№1 в ТАБЛ.№2. (не наоборот). Причем в ТАБЛ.№2 не просто перечень клиентов со структурными подразделениями : большое количество клиентов указано несколько раз, а удалять дубликаты нельзя. Как сделать такое добавление? Спасибо.
Ответить | Ответить с цитатой | Цитировать
# Андрей1 25.07.2017 10:13
Да, Сергей, действительно, ВПР подошел. Спасибо!
Ответить | Ответить с цитатой | Цитировать
# Хвостов Сергей 19.07.2017 20:28
Андрей, а ВПР не подходит? https://e-xcel.ru/index.php/vozmozhnosti/kak-bystro-ob-edinit-dannye-iz-dvukh-tablits
Ответить | Ответить с цитатой | Цитировать
# Габова Екатерина 15.02.2017 21:11
Добрый день.Подскажите ,плз.У меня два менеддера.Кажды й вечер они присылают мне отчеты о проделанной работе за день(обзвон баз по клиентам) Мне это все нужно слить в одну базу и переслать руководству.Как это все проделать?
Ответить | Ответить с цитатой | Цитировать
# Хвостов Сергей 15.02.2017 21:26
Добрый день! Киньте мне на почту пример исходных таблиц - я напишу Вам решение.
Ответить | Ответить с цитатой | Цитировать
# Габова Екатерина 16.02.2017 09:30
Цитирую Хвостов Сергей:
Добрый день! Киньте мне на почту пример исходных таблиц - я напишу Вам решение.

А какая почта?
Ответить | Ответить с цитатой | Цитировать
# Хвостов Сергей 16.02.2017 09:40
Екатерина, зайдите в контакты и внизу кликните по моему имени или фотографии.
Ответить | Ответить с цитатой | Цитировать
# света 03.12.2016 16:44
Добрый день.
имеются две таблицы в разных файлах (или на разных листах) . Необходимо слить в одну обе эти табл. В обеих табл есть уникальный код по которому их можно сцепить. Но проблема, что в одной из таблиц таких одинаковых кодов может быть несколько и надо, чтобы при объединении таблиц например в таблицу с одни кодом подтянулись несколько аналогичных кодов со второй таблицей не суммируя их, а просто путем добавления строк вниз.
Ответить | Ответить с цитатой | Цитировать
# Хвостов Сергей 03.12.2016 18:33
Светлана, из Вашего описания мало что понятно. Киньте мне пример на почту. Почту можно найти в контактах.
Ответить | Ответить с цитатой | Цитировать
# Ольга2016 21.09.2016 20:43
Добрый день.Не могу слить два файла выдает ошибку,не совпадает число столбцов.Оба файла заканчиваются столбцом Y.
Ответить | Ответить с цитатой | Цитировать
# Сергей Хвостов 22.09.2016 10:15
В меню сайта "Контакты". Кликните внизу по имени.
Ответить | Ответить с цитатой | Цитировать
# Ольга2016 22.09.2016 10:35
отправила
Ответить | Ответить с цитатой | Цитировать
# Ольга2016 22.09.2016 10:05
Сделала, все согласно рекомендаций,но ошибка осталась.Точное описание ошибки: Mikrosoft(Драйв ер ODBC Excel)В таблицах или запросах,выбран ных в запросе на объединение, не совпадает число столбцов.
На какой адрес могу выслать файл?
Ответить | Ответить с цитатой | Цитировать
# Хвостов Сергей 21.09.2016 22:48
Ольга, на каком-то из листов есть пустые столбцы за пределами таблиц. Или есть данные, возможно написанные белым цветом. Попробуйте воспользоваться командами из вкладки листы - Удалить все пустые столбцы. После повторите операцию. Если не получиться скиньте мне файл по почте, я посмотрю что там не так.
Ответить | Ответить с цитатой | Цитировать
# Эмилия 30.07.2016 18:36
Здравствуйте! А как суммировать данные из 2-х и более таблиц (на разных листах) в одной, сводной?
Ответить | Ответить с цитатой | Цитировать
# Хвостов Сергей 30.07.2016 18:41
Почитайте вот эту статью: https://e-xcel.ru/index.php/svodnye-tablitsy/kak-postroit-svodnuyu-tablitsu-po-neskolkim-massivam-listam
Ответить | Ответить с цитатой | Цитировать
# gus010 02.05.2016 19:08
И снова здравствуйте!
В дополнение к предыдущему вопросу хочется присовокупить ещё один-возможно ли объединение таблиц из разных книг (несколько филиалов заполняют одинаковые таблицы с несколькими листами)? Которые впоследствии необходимо объединить в одну таблицу.
Ответить | Ответить с цитатой | Цитировать
# Хвостов Сергей 04.05.2016 08:57
Да это возможно, если предварительно воспользоваться командой: https://e-xcel.ru/index.php/komandy/listy/vstavit-listy-iz-drugoj-knigi
и "перетащить" все листы в одну книгу.
Ответить | Ответить с цитатой | Цитировать