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

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

    Условие

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

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

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

    Решение

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

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

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

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

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

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


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

    Добавить комментарий

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