Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Подсчёт количество страниц на распечатку - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Подсчёт количество страниц на распечатку (Формулы/Formulas)
Подсчёт количество страниц на распечатку
JustMe Дата: Четверг, 20.08.2015, 11:33 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброго дня! Необходимо подсчитать количество страниц, которые пойдут на распечатку. На титульном листе документа должно быть написано сколько страниц будет сшито в документе - делал бы всё ручками, благо страниц не так много, но количество документов большое. В одной из старых тем предлагалось для этого использовать ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ() или ЛИСТЫ(). Но они у меня (MS Excel 2010) почему-то не работают. На другом ресурсе нашёл макрос

но боюсь тема древняя и в макросах я плохо разбираюсь (поэтому желательно было бы получить готовый).
 
Ответить
СообщениеДоброго дня! Необходимо подсчитать количество страниц, которые пойдут на распечатку. На титульном листе документа должно быть написано сколько страниц будет сшито в документе - делал бы всё ручками, благо страниц не так много, но количество документов большое. В одной из старых тем предлагалось для этого использовать ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ() или ЛИСТЫ(). Но они у меня (MS Excel 2010) почему-то не работают. На другом ресурсе нашёл макрос

но боюсь тема древняя и в макросах я плохо разбираюсь (поэтому желательно было бы получить готовый).

Автор - JustMe
Дата добавления - 20.08.2015 в 11:33
KSV Дата: Четверг, 20.08.2015, 12:31 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
Добрый день!
Вот, набросал UDF [vba]
Код
Function GetPageCount() As Long
     Dim i&
     With Application.Caller.Parent
         i = .HPageBreaks.Count
         If i Then If .HPageBreaks(i).Location.Row >= (.UsedRange.Row + .UsedRange.Rows.Count) Then i = i - 1
         GetPageCount = i + 1
     End With
End Function
[/vba]
(Не проверял, но должна работать правильно, если данные по ширине умещаются на 1 страницу.
А если не умещаются, то нужно доделать, чтобы проверялось еще и кол-во страниц по ширине и учитывалась последовательность вывода страниц, указанная в настройках)
К сообщению приложен файл: GetPageCount.xlsm (15.1 Kb)


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333
 
Ответить
СообщениеДобрый день!
Вот, набросал UDF [vba]
Код
Function GetPageCount() As Long
     Dim i&
     With Application.Caller.Parent
         i = .HPageBreaks.Count
         If i Then If .HPageBreaks(i).Location.Row >= (.UsedRange.Row + .UsedRange.Rows.Count) Then i = i - 1
         GetPageCount = i + 1
     End With
End Function
[/vba]
(Не проверял, но должна работать правильно, если данные по ширине умещаются на 1 страницу.
А если не умещаются, то нужно доделать, чтобы проверялось еще и кол-во страниц по ширине и учитывалась последовательность вывода страниц, указанная в настройках)

Автор - KSV
Дата добавления - 20.08.2015 в 12:31
JustMe Дата: Четверг, 20.08.2015, 12:47 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Отлично! Большое спасибо... Не сразу разобрался, но работает. Данные по ширине проверять не надо - у меня за полями куча левых формул, которые на печать и так идти не должны.
 
Ответить
СообщениеОтлично! Большое спасибо... Не сразу разобрался, но работает. Данные по ширине проверять не надо - у меня за полями куча левых формул, которые на печать и так идти не должны.

Автор - JustMe
Дата добавления - 20.08.2015 в 12:47
JustMe Дата: Четверг, 20.08.2015, 16:23 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
конечно, понимаю, что дарёному коню в зубы не смотрят, но обнаружил такую вещь: для обновления значения ячейки, в которую вставлен макрос, нужно его заново вводить. Мне с этим смириться?
 
Ответить
Сообщениеконечно, понимаю, что дарёному коню в зубы не смотрят, но обнаружил такую вещь: для обновления значения ячейки, в которую вставлен макрос, нужно его заново вводить. Мне с этим смириться?

Автор - JustMe
Дата добавления - 20.08.2015 в 16:23
buchlotnik Дата: Четверг, 20.08.2015, 16:27 | Сообщение № 5
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
можно вылечить B) [vba]
Код

Function GetPageCount() As Long
      Dim i&
      Application.Volatile
      With Application.Caller.Parent
          i = .HPageBreaks.Count
          If i Then If .HPageBreaks(i).Location.Row >= (.UsedRange.Row + .UsedRange.Rows.Count) Then i = i - 1
          GetPageCount = i + 1
      End With
End Function
[/vba]
К сообщению приложен файл: _GetPageCount.xlsm (16.9 Kb)


Сообщение отредактировал buchlotnik - Четверг, 20.08.2015, 16:27
 
Ответить
Сообщениеможно вылечить B) [vba]
Код

Function GetPageCount() As Long
      Dim i&
      Application.Volatile
      With Application.Caller.Parent
          i = .HPageBreaks.Count
          If i Then If .HPageBreaks(i).Location.Row >= (.UsedRange.Row + .UsedRange.Rows.Count) Then i = i - 1
          GetPageCount = i + 1
      End With
End Function
[/vba]

Автор - buchlotnik
Дата добавления - 20.08.2015 в 16:27
JustMe Дата: Четверг, 20.08.2015, 16:57 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Ну вот теперь вообще великолепно! Спасибо, добрые люди
 
Ответить
СообщениеНу вот теперь вообще великолепно! Спасибо, добрые люди

Автор - JustMe
Дата добавления - 20.08.2015 в 16:57
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Подсчёт количество страниц на распечатку (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!