0 / 0 / 0 Регистрация: 30.05.2010 Сообщений: 13 |
|
1 |
|
10.06.2010, 09:18. Показов 22416. Ответов 6
при переходе в режим предпросмотра и после выхода из него можно (так же при задании областей) можно видеть, что в фоновом изображении Excel отображает номера страниц. подскажите, пожалуйста, где этот номер хранится и можно ли определить к какому номеру страницы принадлежит выбранная ячейка
0 |
petr-sev 496 / 130 / 19 Регистрация: 30.03.2010 Сообщений: 224 |
||||
10.06.2010, 14:54 |
2 |
|||
как решить эту задачу в лоб — не знаю
2 |
0 / 0 / 0 Регистрация: 30.05.2010 Сообщений: 13 |
|
10.06.2010, 17:54 [ТС] |
3 |
очень интересная идея, огромное спасибо
0 |
EducatedFool 0 / 0 / 0 Регистрация: 28.09.2009 Сообщений: 88 |
||||||||||||
11.06.2010, 01:10 |
4 |
|||||||||||
Воспользовался поиском — нашел такие варианты:
0 |
ironegg 1904 / 781 / 31 Регистрация: 11.02.2010 Сообщений: 1,567 |
||||
11.06.2010, 03:12 |
5 |
|||
вопрос, конечно, решенный, но раз наваял, то выложу
1 |
0 / 0 / 0 Регистрация: 30.05.2010 Сообщений: 13 |
|
11.06.2010, 08:09 [ТС] |
6 |
благодарствую. *пошёл разбираться*
0 |
1 / 1 / 0 Регистрация: 17.11.2010 Сообщений: 40 |
|
17.11.2010, 14:20 |
7 |
Доброго времени суток Хотел спросить совета. Итак есть табличка (некая форма док-та). Ее нужно в 4-х экземплярах на печать выдавать (данные в экземлярах разные, но форма одна). Так вот вопрос — как можно определить границу печатного листа при копировании-вставки этой формы? ActiveSheet.HPageBreaks.Count пока я не вылезу за диапазон 1-го листа, значение = 0. Соответственно и границу (последнюю строку листа) неполучается вычислить… Можно конечно сделать по простому — сначала копировать, потом определять границы и добивать до нужного пустыми строками, но м.б. есть более красивый выход?
0 |
Как вставить номер страницы в ячейку / верхний / нижний колонтитул в Excel?
При печати файла Excel вам может потребоваться вставить номера страниц в страницы, чтобы напечатанный файл был аккуратным и читабельным. В этой статье я расскажу о некоторых быстрых приемах, как вставить номера страниц в ячейку, верхний или нижний колонтитул.
Вставить номер страницы в верхний / нижний колонтитул на одном листе
Вставить номер страницы в верхний / нижний колонтитул на нескольких листах
Вставить номер страницы в ячейку с кодом VBA
Удалить сразу все номера страниц в Excel
Вставить номер страницы в верхний / нижний колонтитул на одном листе
Обычно мы можем быстро вставить номера страниц в верхний или нижний колонтитул, используя Верхний и нижний колонтитулы функции, сделайте следующее:
1. Перейдите к листу, номера страниц которого вы хотите вставить в верхний или нижний колонтитул.
2. Затем нажмите Вставить > Верхний и нижний колонтитулы, и ваш рабочий лист будет в Макет страницы просмотреть, см. снимок экрана:
3. Щелкните верхний или нижний колонтитул, куда вы хотите вставить номер страницы, а затем Дизайн вкладка с Инструменты для верхних и нижних колонтитулов отображается на ленте, затем щелкните Дизайн > Номер страницы, см. снимок экрана:
4. И вы можете увидеть заполнитель & [Страница] отображаются в выбранном разделе, затем щелкните в любом месте за пределами области верхнего или нижнего колонтитула, чтобы отобразить номера страниц. Смотрите скриншот:
5. Теперь вы можете вернуться к нормальному виду, нажав Вид > нормальная, и когда вы распечатаете этот рабочий лист, вы увидите, что номера страниц были вставлены в выбранный вами верхний или нижний колонтитул.
Внимание: Если вы хотите, чтобы номера страниц отображались в формате 1 из 15, 2 из 15, вам просто нужно напрямую ввести это & [Страница] из & [Страниц] в поле верхнего или нижнего колонтитула, см. снимок экрана:
Вставить номер страницы в верхний / нижний колонтитул на нескольких листах
Вышеуказанный метод может помочь вам вставить номера страниц в один рабочий лист. Если вы хотите вставить номера страниц во все рабочие листы книги, чтобы все страницы были пронумерованы в последовательном порядке, сделайте следующее:
1. Выберите все вкладки листа, затем перейдите к Макет страницы вкладку и щелкните Кнопка запуска диалогового окна значок в Параметры страницы группа, см. снимок экрана:
2. В Параметры страницы диалоговое окно, щелкните Верхний / нижний колонтитул Вкладка, а затем нажмите кнопку Пользовательский заголовок or Пользовательские Подвал чтобы установить нужный верхний или нижний колонтитул, см. снимок экрана:
3. И в заголовок or нижний колонтитул диалоговое окно, укажите место, куда вставляются номера страниц, щелкнув внутри Левая часть:, Центральная секция: или Правый раздел: поле, как вам нужно, а затем щелкните Вставить номер страницы значок и заполнитель & [Страница] появляется. Смотрите скриншот:
Примечание: Введите это & [Страница] из & [Страниц] в поле верхнего или нижнего колонтитула, если вы хотите, чтобы номера страниц отображались как 1 из 45, 2 из 45…
4. Затем нажмите OK > OK Чтобы закрыть диалоговые окна, при печати этой книги в предварительном просмотре печати вы можете видеть, что все номера страниц вставлены в верхний или нижний колонтитул в последовательном порядке.
Вставить номер страницы в ячейку с кодом VBA
Вам легко вставить номера страниц в верхний или нижний колонтитул, но, если вам нужно вставить номера страниц в ячейку листа, у вас нет прямого способа сделать это. Следующий код VBA может помочь вам решить эту проблему.
1. Щелкните ячейку, в которой вы хотите отобразить номер страницы этой ячейки.
2. Удерживайте ALT + F11 ключи, и он открывает Microsoft Visual Basic для приложений окно.
3. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.
Код VBA: вставить номер текущей страницы в ячейку:
Sub pagenumber()
'updateby Extendoffice 20160506
Dim xVPC As Integer
Dim xHPC As Integer
Dim xVPB As VPageBreak
Dim xHPB As HPageBreak
Dim xNumPage As Integer
xHPC = 1
xVPC = 1
If ActiveSheet.PageSetup.Order = xlDownThenOver Then
xHPC = ActiveSheet.HPageBreaks.Count + 1
Else
xVPC = ActiveSheet.VPageBreaks.Count + 1
End If
xNumPage = 1
For Each xVPB In ActiveSheet.VPageBreaks
If xVPB.Location.Column > ActiveCell.Column Then Exit For
xNumPage = xNumPage + xHPC
Next
For Each xHPB In ActiveSheet.HPageBreaks
If xHPB.Location.Row > ActiveCell.Row Then Exit For
xNumPage = xNumPage + xVPC
Next
ActiveCell = "Page " & xNumPage & " of " & Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
End Sub
4, Затем нажмите F5 ключ для запуска этого кода, и номер страницы этой ячейки отображается в выбранной ячейке, см. снимок экрана:
Удалить сразу все номера страниц в Excel
Чтобы удалить все номера страниц, вы можете выполнить следующие действия:
1. Выберите все вкладки листа и перейдите к Макет страницы вкладку на ленте, затем щелкните Кнопка запуска диалогового окна значок в Параметры страницы группа, см. снимок экрана:
2. В Параметры страницы диалоговое окно, нажмите Верхний / нижний колонтитул вкладку, а затем выберите (Нет) из заголовок or нижний колонтитул выпадающий список, см. снимок экрана:
3. Затем нажмите OK Кнопка, все номера страниц удаляются из книги сразу.
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Формулировка задачи:
при переходе в режим предпросмотра и после выхода из него можно (так же при задании областей) можно видеть, что в фоновом изображении Excel отображает номера страниц.
подскажите, пожалуйста, где этот номер хранится и можно ли определить к какому номеру страницы принадлежит выбранная ячейка
Код к задаче: «Определение номера страницы в excel»
textual
Public Sub a() If ActiveWindow.Selection.Cells.Count > 1 Then MsgBox "âûäåëèòå îäГ*Гі ГїГ·;åéêó!": Exit Sub For Each hpb In ActiveSheet.HPageBreaks If Not (ActiveCell.Row < hpb.Location.Row) Then RowPage = RowPage + 1 End If Next hpb For Each vpb In ActiveSheet.VPageBreaks If Not (ActiveCell.Column < vpb.Location.Column) Then ColumnPage = ColumnPage + 1 End If Next vpb If ActiveSheet.PageSetup.Order = xlDownThenOver Then ActivePage = ColumnPage * (ActiveSheet.HPageBreaks.Count + 1) + RowPage + 1 Else ActivePage = RowPage * (ActiveSheet.VPageBreaks.Count + 1) + ColumnPage + 1 End If MsgBox ActivePage End Sub
Полезно ли:
11 голосов , оценка 4.636 из 5
Можно ли вытащить из колонтитулов номер страницы? |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
- begemot
- Начинающий
- Сообщения: 3
- Зарегистрирован: 27.02.2004 (Пт) 12:21
Как определить номер страницы в Excel?
Подскажите плиз. как можно определить в Excel по заданной ячейке номер страницы при печати на текущий принтер?
Заранее СПАСИБО!
- Fuzzy
- Обычный пользователь
- Сообщения: 60
- Зарегистрирован: 03.12.2002 (Вт) 12:33
Fuzzy » 27.02.2004 (Пт) 18:20
Используй свойства листа VPageBreaks и HPageBreaks
- begemot
- Начинающий
- Сообщения: 3
- Зарегистрирован: 27.02.2004 (Пт) 12:21
begemot » 27.02.2004 (Пт) 18:52
Если можно подробнее.
Worksheets(1).HPageBreaks.Count — число разделителей по всему листу, а
мне нужно выцеплять промежуточные строки.
Пытался переносить весь диапазон до заданной ячейки на другой лист, но нумерация немного поплыла, хотя все параметры страницы и форматы данных выставляю те же, да работает медленно (всего около 10000 строк).
Может быть есть какие-нибудь другие варианты?
- Fuzzy
- Обычный пользователь
- Сообщения: 60
- Зарегистрирован: 03.12.2002 (Вт) 12:33
Fuzzy » 27.02.2004 (Пт) 18:54
HPageBreaks — это коллекция, содержащая адреса ячеек, где происходят горизонтальные разрывы. Тебе надо её просматривать и искать, между какими разрывами попадает твоя нужная ячейка.
- begemot
- Начинающий
- Сообщения: 3
- Зарегистрирован: 27.02.2004 (Пт) 12:21
begemot » 27.02.2004 (Пт) 20:02
спасибо, разобрался!
Вернуться в VBA
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
ТРЕНИНГИ
Быстрый старт
Расширенный Excel
Мастер Формул
Прогнозирование
Визуализация
Макросы на VBA
КНИГИ
Готовые решения
Мастер Формул
Скульптор данных
ВИДЕОУРОКИ
Бизнес-анализ
Выпадающие списки
Даты и время
Диаграммы
Диапазоны
Дубликаты
Защита данных
Интернет, email
Книги, листы
Макросы
Сводные таблицы
Текст
Форматирование
Функции
Всякое
Коротко
Подробно
Версии
Вопрос-Ответ
Скачать
Купить
ПРОЕКТЫ
ОНЛАЙН-КУРСЫ
ФОРУМ
Excel
Работа
PLEX
© Николай Павлов, Planetaexcel, 2006-2022
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
Техническая поддержка сайта
ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
Определить номер страницы с закладкой
Автор BoomZoom, 14 декабря 2015, 22:51
Здравствуйте. Скажите, пожалуйста, как сделать макрос, который бы выводил на монитор сообщение с номерами страниц, на которых есть закладки?
[вложение удалено администратором]
Администратор
- Administrator
- Сообщения: 2,252
- Записан
Какие макросу смотреть закладки? Все или по каким-то признакам? Может по именам закладок?
Да, можно по именам закладок.
Администратор
- Administrator
- Сообщения: 2,252
- Записан
Какое у закладки должно быть имя, чтобы макрос её учёл?
Закладка1, Закладка2 и т.д.
Администратор
- Administrator
- Сообщения: 2,252
- Записан
То есть у закладок фиксированные имена? Эти имена тогда просто в код макроса вписать?
Можно так. А какие варианты еще могут быть?
Администратор
- Administrator
- Сообщения: 2,252
- Записан
У закладок можно сделать одинаковый корень, но будет разный суффикс, например:
Закладка1, Закладка2 — одинаковый корень «Закладка» и разные суффиксы: 1, 2. Макрос может смотреть начало имени закладки.
Пусть будет так, как вы предлагаете.
Администратор
- Administrator
- Сообщения: 2,252
- Записан
Этот макрос работает с закладками, у которых имя начинается словом «Закладка».
Sub Main()
Dim docAct As Document, bkmark As Bookmark, strMsg As String
‘1. Vba-именование активного файла.
Set docAct = ActiveDocument
‘2. Функционал.
For Each bkmark In docAct.Bookmarks
‘ Если имя закладки начинается словом «Закладка».
If InStr(bkmark.Name, «Закладка») = 1 Then
strMsg = strMsg & bkmark.Range.Information(wdActiveEndAdjustedPageNumber) & vbCr
End If
Next
‘3. Сообщение.
If strMsg = «» Then
MsgBox «В файле нет искомых закладок.», vbInformation
Else
MsgBox «Закладки находятся на страницах:» & vbCr & strMsg, vbInformation
End If
End Sub
Большое спасибо! Потестирую — отпишусь!
Работает! Спасибо большое!
- Форум по VBA, Excel и Word
-
►
Word -
►
Макросы в Word -
►
Определить номер страницы с закладкой