Excel VBA: Вставить данные из ячейки в колонтитул, кроме первого листа

Автор Russs, 13 февраля 2017, 12:02

Russs

Как с помощью макроса вставить данные из ячейки в верхний колонтитул?
При этом для первого листа не нужно делать колонтитул.
Схематично колонтитул должен выглядеть так:
centerheader стр. P из N, rightheader по состоянию на "ссылка на ячейку на первом листе".

Администратор

По поводу первого листа. В данном случае нужно использовать термин "страница", а не лист. Т.к. лист - это то, что имеет внизу ярлык - юзер щёлкает по ярлыку и отображается лист. А сам лист уже состоит из страниц. Страницы появляются при печати, а также страницы можно увидеть в некоторых режимах, например, Разметка страницы.
В самом экселе (без макроса) можно так сделать, чтобы колонтитулы были на всех страницах кроме первой: вкладка "Разметка страницы" - группа "Параметры страницы" - справа еле заметная стрелочка - откроется диалог - вкладка "Колонтитулы" - поставьте галочку "Особый колонтитул для первой страницы". Это позволит настроить колонтитул для первой страницы и для всех остальных.

Что касается подстановки в колонтитул текста из ячейки:
Sub Макрос()
    ActiveSheet.PageSetup.CenterHeader = "&P из &N"
    ' Здесь укажите имя листа (или номер листа) и ячейку, из которой нужно извлечь данные.
    ActiveSheet.PageSetup.RightHeader = "По состоянию на " & Worksheets(1).Range("A1").Value
End Sub