Вам понадобится
- Табличный редактор Microsoft Office Excel 2007 или 2010.
Инструкция
1
Если свести в один нужно не очень большое число листов, это нетрудно сделать простой комбинацией операций копирования и вставки. Выберите лист, на котором будут объединены все таблицы - сводный. Если он уже содержит данные, установите курсор ввода в первую ячейку добавляемой области - в ячейку первой строки правее крайнего столбца при добавлении данных по горизонтали или в ячейку первой колонки ниже последней строки при добавлении по вертикали.
2
Перейдите на лист, данные которого требуется добавить в сводный, и кликните правую нижнюю ячейку с данными. Нажмите сочетание клавиш Ctrl + Shift + Home, чтобы выделить всю таблицу. Обратите внимание, что выделить надо только ячейки с данными, а не все содержимое листа, иначе при вставке Excel выдаст сообщение об ошибке. Пометите скопированную область в буфер обмена - нажмите комбинацию клавиш Ctrl + C.
3
Вернитесь на сводный лист и вставьте скопированное - нажмите «горячие клавиши» Ctrl + V. Повторите операции позиционирования, копирования и вставки нужное число раз, если требуется объединить больше двух листов. По окончании процедуры скопированные листы можно удалить - кликайте их ярлычки правой кнопкой мыши, выбирайте пункт «Удалить» и нажимайте кнопку «Да» в диалоге подтверждения операции.
4
Если объединяемых листов достаточно много, придется воспользоваться скриптом, т.е. поместить в страницу кнопку и привязать к ней соответствующий макрос. Для этого надо воспользоваться вкладкой «Разработчик». Если она не отображается в меню, кликните свободное пространство на любой вкладке правой кнопкой мыши и выберите пункт «Настройка ленты». В списке «Основные вкладки» поставьте отметку у надписи «Разработчик» и нажмите OK.
5
На вкладке «Разработчик» раскройте выпадающий список «Вставить» из группы команд «Элементы управления» и выберите в нем самый первый элемент - кнопку. Затем щелчком мышки укажите место в таблице, куда надо поместить кнопку, и на экране появится диалоговое окно «Назначить макрос объекту».
6
Нажмите кнопку «Создать» и между первой и последней строками кода в открывшемся окне введите, например, такой набор команд:s_ = Sheets.CountSheets.Add After:=Sheets(s_)For i = 1 To s_ r_ = Sheets(i).Cells.SpecialCells(xlLastCell).Row Sheets(i).Range("A1", Sheets(i).Cells.SpecialCells(xlLastCell)).Copy Sheets(s_ + 1).Range("a" & n_ + 1) n_ = n_ + r_NextЗакройте редактор макросов.
7
Щелкните по созданной кнопке, и назначенный ей макрос создаст новый лист, в котором объединит содержимое всех остальных, сцепив их по вертикали.
Одна проблема осталась. Как объединять строки с листов, только имеющих определенное значение в одном из столбцов? Например значение "AB" в столбце "J".
все таблицы в листах имеют одинаковую структуру, никаких фильтров...