Страницы: 1
RSS
Сведение нескольких таблиц в одну, последовательно, Как в эксель объединить несколько таблиц в одну, последовательно, vba
 
В продолжение темы:
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=121965&TITLE_SEO=121965-kak-uskorit-makros-ogranichiv-chislo-proschityvaemykh-strok

Существует ли способ быстрого объединения таблиц в одну, последовательно?
1. Таблицы не имеют шапки
2. Таблицы по 100 строк и 6 столбцов.
3. Таблицы расположены на одном листе, друг за дружкой. Таблиц таких может быть до 45 штук

Данные не должны перемешаться, объединиться или как-то ещё измениться. Нужно просто расположить их вертикально друг за дружкой без разрыва, по сути сделать одну длинную таблицу.

В оригинале стобцы в таблицах-исходниках никак не подсвечены и не названы, в файле-примере я для удобства восприятия их покрасил.
В файле-примере лист1 - это то, что есть, лист2 - то, что должно получиться.  
 
откройте лист ДО
нажмите Alt+F8
выберите  TransformateNx6to1x6
нажмите Выполнить
(внимание!!! повторное выполнение  TransformateNx6to1x6 приведет к повторному дополнению таблиц в первые 6 колонок)


Код
Sub TransformateNx6to1x6()
  Dim i&:  i = 1
  Do While Not IsEmpty(Cells(1, i * 6 + 1))
    Range(Cells(1, (i + 1) * 6), Cells(Rows.Count, i * 6 + 1).End(xlUp)).Copy _
    Cells(Rows.Count, 1).End(xlUp).Offset(1)
    i = i + 1
  Loop
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко,

Спасибо огромное! Работает как надо!  
 
Roman911, принцип тот же, что и раньше (создание нового листа и вставка на него), скорость тоже отличная (0,02 - 0,03 сек)
Кода больше, чем у Игоря
Изменено: Jack Famous - 24.10.2019 11:07:28
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous,
И вам спасибо! С количеством крутая задумка, это тоже пригодится скорее всего ;) Уверен я не один нуб с такими проблемами )  
Изменено: Roman911 - 23.10.2019 20:52:41
 
Roman911, пожалуйста. Забыл вчера отметить, что у вас получилась прямо образцовая тема  :idea:
Цитата
Roman911: С количеством крутая задумка
торопился вчера и не заметил, что у Игоря это в коде это тоже легко регулируется. Более того, если тот же код сделать на массивах, то он не будет уступать в скорости моему варианту, хотя, думаю, что на ваших объёмах и так всё отилчно
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Приветствую.
Прошу помощи. Создал сводную таблицу из данный с нескольких листов. Необходимо чтоб сводная таблица, считала согласно фильтра месяц (колонка В) сумму отработанных часов (колонка К) водителя на автом. Но таблица считает количество раз упомянутых фамилий на автом.
 
Jack Famous,
спасибо, я просто понял, зачем это всё нужно (новая тема и название) и постарался сделать так, чтобы форум получил максимальный эффект :) На моих объёмах да, всё идеально. Первый раз когда совсем всё в ручную делалось я понял, что на за полчаса обработаю только 9000 строк. Сейчас 111 000 строк )  
Изменено: Roman911 - 24.10.2019 11:58:31
 
del
Изменено: Roman911 - 24.10.2019 12:03:49
 
Fargo, как ваш вопрос соответствует данной теме? Создайте свою или найдите подходящую
Цитата
Roman911: постарался сделать так, чтобы форум получил максимальный эффект
это похвально — побольше бы таких понимающих  :)
Цитата
Roman911: На моих объёмах да, всё идеально
по идее, даже увеличение объёмов в сотни раз при сохранении логики не должно быть сильно медленнее (для моего макроса, т.к. у Игоря вариант на работе с ячейками по отдельности, а это будет долго на больших объёмах). Если будут проблемы, то пишите сюда  ;)
Изменено: Jack Famous - 24.10.2019 12:15:41
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Страницы: 1
Наверх