VBA Excel. Переход к ячейке по адресу из формулы

    Переход к ячейке по адресу из формулы рабочего листа вида =Лист!АдресЯчейки с помощью функций для работы с текстом из кода VBA Excel.

    Преобразование формулы рабочего листа

    Преобразование формулы рабочего листа для получения адреса ячейки рассмотрим для следующих примеров формул: =Лист1!A1 и ='Имя Листа'!A1. Вторая формула примечательна тем, что имя листа в ней содержит пробел и заключено в одинарные кавычки (апострофы).

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

    Для извлечения имени листа и адреса ячейки будем использовать следующие функции VBA Excel для работы с текстом: Split, Mid, Left и Len. Функция Len возвращает длину строки, выраженную в количестве составляющих ее знаков.

    Порядок извлечения имени целевого листа и адреса целевой ячейки из формулы, размещенной в исходной ячейке:

    • Удаляем из формулы знак равенства ("=").
    • С помощью функции Split делим формулу на имя листа и адрес ячейки, указав в качестве разделителя восклицательный знак ("!").
    • Если имя листа заключено в апострофы, удаляем их.
    • Теперь имя листа и адрес ячейки, выделенные из формулы, можно использовать для идентификации целевой ячейки.

    Код для перехода к ячейке из формулы

    Рассмотрим пример кода VBA Excel для извлечения адреса целевой ячейки из формулы в активной ячейке на текущем листе и активация целевой ячейки на целевом листе по его имени из формулы.

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

    Если нужно внести какие-то изменения в целевую ячейку без ее активации, обратиться к ней можно следующим образом:

    Самый простой вариант перехода

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

    Обращение к ячейке из формулы, расположенной в другой ячейке, для внесения изменений:

    Код второго примера аналогичен коду VBA Excel для перехода по ссылке к ячейке в другой книге, рассмотренному в следующей статье.


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

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

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