Форум по VBA и MS Office

VBA, Excel => VBA, макросы в Excel => Тема начата: Russs от 13 февраля 2017, 12:02

Название: Excel VBA: Вставить данные из ячейки в колонтитул, кроме первого листа
Отправлено: Russs от 13 февраля 2017, 12:02
Как с помощью макроса вставить данные из ячейки в верхний колонтитул?
При этом для первого листа не нужно делать колонтитул.
Схематично колонтитул должен выглядеть так:
centerheader стр. P из N, rightheader по состоянию на "ссылка на ячейку на первом листе".
Название: Re: Excel VBA: Вставить данные из ячейки в колонтитул, кроме первого листа
Отправлено: Администратор от 13 февраля 2017, 12:46
По поводу первого листа. В данном случае нужно использовать термин "страница", а не лист. Т.к. лист - это то, что имеет внизу ярлык - юзер щёлкает по ярлыку и отображается лист. А сам лист уже состоит из страниц. Страницы появляются при печати, а также страницы можно увидеть в некоторых режимах, например, Разметка страницы.
В самом экселе (без макроса) можно так сделать, чтобы колонтитулы были на всех страницах кроме первой: вкладка "Разметка страницы" - группа "Параметры страницы" - справа еле заметная стрелочка - откроется диалог - вкладка "Колонтитулы" - поставьте галочку "Особый колонтитул для первой страницы". Это позволит настроить колонтитул для первой страницы и для всех остальных.

Что касается подстановки в колонтитул текста из ячейки:
Sub Макрос()
    ActiveSheet.PageSetup.CenterHeader = "&P из &N"
    ' Здесь укажите имя листа (или номер листа) и ячейку, из которой нужно извлечь данные.
    ActiveSheet.PageSetup.RightHeader = "По состоянию на " & Worksheets(1).Range("A1").Value
End Sub
Название: Re: Печать книги с макросом страницы и даты
Отправлено: Russs от 13 февраля 2017, 18:06
Спасибо.