Есть встроенная функциональность для консолидации данных.
Вам нужно будет переместить ваши данные, чтобы они все были в одной строке, но в конце концов, вероятно, будет гораздо проще, чем писатькод с нуля.
Как объединить
Выполните следующие шаги, чтобы объединить несколько листов в основной лист:
Если у вас нет 't, настройте данные на каждом учредительном листе, выполнив следующие действия:
- Убедитесь, что каждый диапазон данных представлен в виде списка.Каждый столбец должен иметь метку (заголовок) в первой строке и содержать аналогичные данные.В списке не должно быть пустых строк или столбцов.
- Поместите каждый диапазон на отдельную рабочую таблицу, но не вводите ничего в главную рабочую таблицу, где вы планируете консолидировать данные.Excel сделает это за вас.
- Убедитесь, что каждый диапазон имеет одинаковое расположение.
В главном рабочем листе щелкните верхнюю левую ячейку области, в которой должны отображаться консолидированные данные.
Примечание: Чтобы избежать перезаписи существующих данных в основной рабочей таблице, убедитесь, что вы оставили достаточно ячеек справа и ниже этой ячейки для консолидированных данных.
Нажмите Данные → Объедините (в группе Инструменты данных ).
В поле Function выберите функцию сводки, которую Excel будет использовать для консолидации данных.По умолчанию используется функция SUM .
Вот пример, в котором были выбраны три диапазона листа:
Выберите ваши данные.
Более подробная информация и остальные инструкции имеются у источника .
Если вы хотите автоматизировать процесс, запишите макрос при выполнении необходимых шагов, а затем вы сможете редактировать при необходимости.
См .: Запись макроса для генерации кода , а также Исправление записанных макросов Visual Basic .Если вы не знакомы с Excel (или с тем, что вы планируете автоматизировать с помощью VBA), сделайте это, прежде чем пытаться использовать VBA.
Настоятельно рекомендуется это руководство по VBA: Excel VBA для начинающих и Документация Microsoft .