Новости:

Теперь на форум можно залогиниться / зарегистрироваться с помощью ВКонтакте. Уже существующие пользователи могут связать свою учетную запись с аккаунтом ВКонтакте одним кликом в профиле пользователя http://forum.msexcel.ru/index.php?action=profile;area=account

Главное меню

Умное совмещение 3-4 таблиц в одну (по датам)

Автор ASmith, 08.11.2013, 15:02

« назад - далее »

ASmith

Добрый день. Прошу помочь в решении следующей задачи.

На 1-ом листе находится 4 таблицы (выделены разными цветами и подписаны) и на 2-ом листе находиться "доп. таблица"
Необходимо их все свести к одной, но с определенными правилами:
1) 1 таблица + доп. таблица, их необходимо совместить так, что бы в случае дополнительных дат в "доп. таблице" (которых нет в первой таблице) что бы они добавлялись в первую с недостающей датой, но пустыми значениями соотвественно.
2) К уже совмещенной 1-ой и доп. табилце, необходимо подставить (по датам) данные из 2,3 и 4 таблицы, игнорируя те даты, которые существуют
на 3-ем листе я просто покопировал, как бы я хотел видеть результат

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

nilem

#1
Расположение таблиц на листах всегда одно и то же?
Будем считать, что одно и то же :)
в файле нажмите зеленую стрелку

ASmith

#2
Большее спасибо за ответ. В начале подумал что не работает, но потом заработало. Вообще я думал это можно сделать обычными формулами, которые просто автоматом будут копировать определенные данные, но макрос вполне тоже подходит.
Я так понимаю макрос этот полностью написан в коде. Можно ли в нем как-то изменить месторасположение таблиц, например есили обсалютно все таблицы будут на одном листе, в порядке 1,2,3,4 и доп. Смогу ли я это самостоятельно изменить?

Poltava

Цитироватьформулами, которые просто автоматом будут копировать определенные данные
Формулы они для расчетов и вывода результатов они ничего КОПИРОВАТЬ в принципе не могут.
Цитироватьесили обсалютно все таблицы будут на одном листе
Какой пример такое и решение! не зря в правилах написано МАКСИМАЛЬНО приближенные к реальным. Переделывать под вас по 100 раз макрос никто не горит желанием.
ЦитироватьМожно ли в нем как-то изменить месторасположение таблиц
Да меняйте на здоровье ктож вам запрещает. А вот если не знаете как тогда возвращаемся ко второй цитате с максимально точным примером. В данном макросе за наполнение массивов отвечает этот фрагмент кода
With Sheets("Лист2")
    dopT = .Range("B3:H" & .Cells(Rows.Count, 2).End(xlUp).Row).Value
End With
With Sheets("Лист1")
    t1 = .Range("B3:L" & .Cells(Rows.Count, "B").End(xlUp).Row).Value
    t2 = .Range("M3:Z" & .Cells(Rows.Count, "M").End(xlUp).Row).Value
    t3 = .Range("AA3:AI" & .Cells(Rows.Count, "AA").End(xlUp).Row).Value
    t4 = .Range("AJ3:AP" & .Cells(Rows.Count, "AJ").End(xlUp).Row).Value
End With

Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.

ASmith

Просто я думал об простом = и простых переносах информации с определенными правилами, с простыми вещами это срабатывает, но тут вижу что без макроса не обойтись.
Понятное дело, что переделывать по 100 раз ни кто не будет и я этого даже и не прошу. Вообще как бы я стараюсь спрашивать суть, а вот уже подтягивать под свою таблицу стараюсь сам, что бы научится, а не просто использовать готовое.
Больоше спасибо, именно это меня и интересовало, какой код отвечает за заполнение данных.