Страницы: 1
RSS
Объединение записей в одной книге с разных листов
 
Доброго времени суток. Прошу помощи у сообщества. Облазил весь форум и не нашел ответа на мой вопрос. Есть одна книга, в ней присутствует 20 листов. Шапка таблицы на всех листах одинакова. Нужно со всех листов собрать определенное количество столбцов на один лист. Хотелось бы, что бы была кнопка, при нажатии на которую данные из всех 20 листов пополнялись на одном общем листе. Может не совсем объяснил. Суть в прикрепленном файле.
Накопал на просторах Interneta макрос, который отчасти решает мои вопросы... сам в VBA не бум-бум... помогите, пожалуйста!
 
А Вы файл не перепутали? Это ведь файл-пример с дружественного сайта, где показывается возможность разделения листов/диапазонов для пользователей.
 
Как раз это разделение мне и нужно для листов/пользователей.  Есть 20 пользователей, которые пользуются одним Excel файлом в общем доступе. Общий доступ начинает "глючить" (много пользователей в одно время и кол-во записей перевалило за 10 000). Для разделения листов и пользователей был взят данный файл. 20 таблиц были оформлены и разбиты по пользователям. Сейчас задача все это собрать на одном листе. Вот и обращаюсь к помощи сообщества.  Сам, к сожалению, в макросах не силен и как собрать информацию с 20 листов на один не знаю.
 
А не проще создать базу данных в Access?
There is no knowledge that is not power
 
Тема называется "Объединение записей в одной книге с разных листов" - так и покажите файл с листом-приёмником и тремя листами-донорами. Зачем тут файл Дмитрия (The_Prist)?
 
Показываю файл Дмитрия, в связи с тем, что на скрытых листах в данном файле созданы таблицы, которые нужно собрать, они скрыты, согласно макросу. Хотелось бы объединить данные таблицы, когда они скрыты, в один лист.
Ниже сама структура
Изменено: cad - 07.03.2013 10:45:11 (Прикрепление файла)
 
cad, это Вы сейчас пошутили? Что собирать на лист? - нет НИ ОДНОЙ ячейки с данными.
 
сорри, случайно как то вышло... :oops:
 
Да... лень вперёд Вас родилась - все данные одинаковые - как бы Вы определили, что собраны данные именно с этих листов?
В примере макрос соберёт данные с первого по предпоследний лист. А вообще - таких примеров на форуме - вагон и маленькая тележка.
 
Спасибо, можно ли этот макрос приделать к макросу Дмитрия, что бы сбор происходил из скрытых листов?
 
В данном случае без разницы - скрыты листы или нет.
 
Выдает ошибку 1004, что это может быть?
 
Скрыл один из листов - никакой ошибки нет. Проверяйте диапазоны в Ваших листах - где-то не так, как в примере. Макрос писался под конкретные таблицы.
 
Юрий, вы простите, в данном случае идет дублирование записей и не все записи попадают в основную таблицу  :(
Получается так : взял для начала две таблицы в табл.1 занес 3 записи, а во вторую 1 запись, в итоге получается так, что из табл. 1 подтягивается 2 записи 2 раза подрят а из табл2 подтягивает 1 строчку
Изменено: cad - 07.03.2013 12:24:39
 
Действительно - мой косяк.
Найдите строку RW = 41 и исправьте на RW = 40
А эту: Range(.Cells(41, 1), .Cells(LastRow, 32)).Copy Cells(RW, 1)
Запишите так:
Range(.Cells(41, 1), .Cells(LastRow, 32)).Copy Cells(RW + 1, 1)
 
Спасибо
Возвращаясь к файлу Дмитрия, где все эти таблицы будут находится получается вот такая картина (файл прикреплен). Из листа Users подтягивает последнюю заполненую строчку с пользователями (там их 19), а из таблицы WARNING так же последнюю строчку (строка 3).
И идет дублирование записей.
Как можно избавиться от этого?
Изменено: cad - 07.03.2013 12:44:39
 
Цитата
cad пишет:
Возвращаясь к файлу Дмитрия...
Я не буду к этому файлу возвращаться - у Вас есть работающий пример.
 
Спасибо за помощь
 
Проверьте - для корректной работы макроса все таблицы должны начинаться с ячейки А41.
 
Спасибо, все таблицы начинаются с ячейки А41
Страницы: 1
Читают тему
Наверх