Исходные данные: Дана огромная таблица в Excel с большим количеством строк и столбцов.
Задача: собрать все значения всех колонок в один столбец.

Решение: для решения задачи потребуется помощь макросов. Ниже приведен код макроса для решения задачи.
Sub CopyFilledRows()
On Error Resume Next
r = 1
With Sheets(2)
For Each c In Intersect(Selection, ActiveSheet.UsedRange).Cells
If c <> "" Then
.Cells(r, 1) = c
r = r + 1
End If
Next
End With
End Sub
Для того, чтобы макрос сработал, выполните следующие шаги:
1. Добавть макрос в книгу (Разработчик – Visual Basic, в открывшемся редакторе вставьте код)
2. Выделите на листе диапазон данных, которые нужно собрать в один столбец;
3. Запустите макрос (Разработчик – Макросы – Выполнить)

На втором листе книги в первой колонке будет массив всех значений из выделенного фрагмента.
Потрясена!!! Спасибо, очень вовремя.
Прошу дополнить код, если это возможно.
Надо, чтобы шапка столбца -дата- так же переносилась в новое место с сохранением очередности и формата «дата».
Опубликуйте файл с исходными данными или скриншот. Не очень понимаю, что нужно сделать
Спасибо, очень пригодилось.
Если можно попросить, то сделайте, пожалуйста, так, чтобы переносилась и дата с сохранением места и формата, у меня не получается никак.
добрый день!
Спасибо, что отозвались!
не знаю как послать данные и скрин.
А нужно так: есть 365 столбцов, в заголовке — дата, под ней в ячейках числа либо текст.
Следует перенести заголовки и данные столбцов в новый сохраняя календарную последовательность.
1) Файл таблицы должен быть в формате .xlsm
2) У меня не было кнопки «разработчик», чтобы появилась, нажать Файл — Параметры — Настроить ленту. Там справа в списке «Основные вкладки» поставить галку «Разработчик»
3) Вставив код в Visual Basic, это окно можно закрыть, сохранять не надо.
Добрый день!
Макрос — просто супер!!!
Подскажите пожалуйста, почему я смог его выполнить только на 2х листах, далее макрос не срабатывает ни на других листах, ни в новых в новых файлах итд
перепробовал все способы, просто ничего не происходит.
Заранее спасибо!!
Очень странно. Попробуйте закрыть все лишние файлы Excel, оставьте только рабочий файл. Уже тут откройте редактор макросов и вставьте в него код. Должно сработать.
Если не поможет, можно обращаться к данным файла Excel, указывая имя файла. Это позволяет получать данные файла Excel в другом файле с макросом.
Большое спасибо за макрос! Находка! В книге было несколько листов, таблица была наверное на третьем-четвертом, нажимал выполнить макрос, но ничего не происходило, а потом понял, что данные-то должны появиться на втором листе))) а не на следующем за таблицей
Спасибо огромное!
Сэкономил уйму времени!
Спасибо большое! На MacOS тоже все работает! Такая простая задача и excel не умеет по чайниковски это делать! Сэкономил часы своей жизни! Потрачу это время с умом!