Перейти к содержимому
Наше приложение «Дешевые авиабилеты» в AppGallery >>

VBA Excel. Перебор листов в книге

    Перебор листов в книге Excel циклом For Each… Next с копированием данных из этих листов и вставкой в новый лист той же книги с помощью кода VBA.

    Условие задачи по перебору листов

    Есть книга Excel с неизвестным количеством рабочих листов с данными. Необходимо выполнить следующие действия:

    • открыть книгу;
    • создать новый лист;
    • запустить цикл перебора листов;
    • скопировать данные из столбца «B» каждого листа и вставить в новый лист;
    • данные из очередного листа вставлять в следующий столбец нового листа, а в верхнюю ячейку столбца записывать имя листа, из которого данные скопированы.

    Перебор листов в книге Excel

    Для открытия книги (получения полного имени) будем использовать диалоговое окно выбора файлов GetOpenFilename, а для перебора листов — цикл For Each… Next.

    Пример кода для перебора листов в книге Excel циклом For Each… Next с частичным копированием данных на отдельный лист:

    При использовании метода копирования диапазонов, на новый лист будут перенесены не только значения ячеек, но и их форматы. Если необходимо перенести только значения, можно, в качестве промежуточного звена, использовать массив.


    Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.