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

VBA Excel. Смещение умной таблицы вниз

    Смещение умной таблицы вниз на одну строку с помощью кода VBA Excel при заполнении умной таблицы, расположенной выше, для сохранения отступа между ними.

    Условие

    На рабочем листе могут находиться две умные таблицы, расположенные как на изображении — одна под другой:

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

    Вставлять пустые строки при увеличении верхней таблицы можно автоматически с помощью кода VBA Excel.

    Решение

    Пример кода VBA Excel, автоматически смещающего нижнюю таблицу вниз на одну строку при добавлении к верхней умной таблице новой записи для сохранения существующего отступа между ними.

    Объявляем глобальную переменную в модуле книги и добавляем код присвоения этой переменной количества строк верхней таблицы при открытии файла:

    В модуль листа с умными таблицами необходимо вставить следующий код:

    Когда количество записей верхней умной таблицы увеличивается, автоматически вставляется одна новая пустая строка перед первой пустой строкой под верхней таблицей.

    Число в выражении (.Count + 3) равно количеству строк выше записей верхней таблицы плюс 1. Строка заголовков включена в таблицу, но в объект ListRows (коллекция строк/записей) не входит. Поэтому для нашего примера число равно 3, включая строку заголовков.

    Блок ElseIf добавлен в условие, чтобы код VBA Excel для смещения умной таблицы вниз продолжал правильно работать при удалении строк из верхней таблицы.


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