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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

    1. Константин

      Добрый вечер!
      Подскажите пожалуйста, какую применить формулу к ячейкам?
      Допустим, основные ячейки для заполнения A1, B1, C1, D1, если в этих ячейках имеются данные, то автоматически новые данные должны попасть G1, H1, I1, J1 и наоборот, если ячейки G1, H1, I1, J1 имеют данные, то автоматически новые данные должны попасть A1, B1, C1, D1.
      Если есть что-то подобное, очень прошу помочь!
      Спасибо!

      1. Евгений

        Здравствуйте, Константин!
        Как решить с помощью формул — не знаю. С помощью кода VBA можно так:

    Обсуждение закрыто.