Есть функция (спасибо этому форуму), которая возвращает имя предыдущего листа в книге. Если вызвать ее в ячейке (например, так: =PrevSheet(A1)), то результатом будет содержимое ячейки А1 предыдущего листа.
Но, поскольку не хочется вызывать эту функцию каждый раз, когда требуется получить имя предыдущего листа, то встает вопрос: можно ли, к примеру, вызвать ее один раз в какой-нибудь ячейке. а потом уже оперировать значением полученного результата? Я это вижу примерно так: B1 =PrevSheet(A1) *получаем имя пред. листа, прописанное в ячейке А1 C1 ='B1'!E749 * подставляем в ячейку С1 значение ячейки Е749 пред. листа.
Но, само собой, такая конструкция не работает. Как правильно написать?
Спасибо!
Здравствуйте!
Есть функция (спасибо этому форуму), которая возвращает имя предыдущего листа в книге. Если вызвать ее в ячейке (например, так: =PrevSheet(A1)), то результатом будет содержимое ячейки А1 предыдущего листа.
Но, поскольку не хочется вызывать эту функцию каждый раз, когда требуется получить имя предыдущего листа, то встает вопрос: можно ли, к примеру, вызвать ее один раз в какой-нибудь ячейке. а потом уже оперировать значением полученного результата? Я это вижу примерно так: B1 =PrevSheet(A1) *получаем имя пред. листа, прописанное в ячейке А1 C1 ='B1'!E749 * подставляем в ячейку С1 значение ячейки Е749 пред. листа.
Но, само собой, такая конструкция не работает. Как правильно написать?
C1 ='B1'!E749 * подставляем в ячейку С1 значение ячейки Е749 пред. листа.
Но если там имя листа, тоздесь используйте функцию ДВССЫЛ
Код
=ДВССЫЛ(B1&"!E749")
Вариант функции для вывода имени пред. листа [vba]
Код
Public Function PrList(r_ As Range) On Error Resume Next sn_ = Sheets(r_.Parent.Index - 1).Name If Err.Number <> 0 Then sn_ = "Нет_предыдущего_листа" PrList = sn_ End Function
C1 ='B1'!E749 * подставляем в ячейку С1 значение ячейки Е749 пред. листа.
Но если там имя листа, тоздесь используйте функцию ДВССЫЛ
Код
=ДВССЫЛ(B1&"!E749")
Вариант функции для вывода имени пред. листа [vba]
Код
Public Function PrList(r_ As Range) On Error Resume Next sn_ = Sheets(r_.Parent.Index - 1).Name If Err.Number <> 0 Then sn_ = "Нет_предыдущего_листа" PrList = sn_ End Function