powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Подсчёт общего кол-ва листов и номера листа, в который входит определённый диапазон
9 сообщений из 9, страница 1 из 1
Подсчёт общего кол-ва листов и номера листа, в который входит определённый диапазон
    #36622754
Kerguru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня, уважаемые форумчане.

Я новичок в программировании на VBA, посему не могу сам справиться с этим таском. Очень надеюсь на вашу помощь и/или советы.


Мне необходимо подсчитать общее количество листов и номер текущего листа.

Формат документа следующий: "шапка", область данных и инфо-блок, подитоживающий данные из шапки и области данных.

Формирование листов строится по схеме в зависимости от кол-ва позиций.
Иллюстрируют это следующие интервалы зависимости количества листов от количества позиций:

{1..5} - 1 page
{6..46} - 2 pages
{47..88} - 3 pages
...

Если ставить задачу в нотации, где
"[]" - обозначают достаточное кол-во позиций, чтоб уместить область данных и инфо-блок на одном листе
а "()" - максимальное кол-во позиций на листе после "шапки", но инфо-блок при этом смещается на следующий лист

1-й лист: [5] (20)

[5] - лист вмещает инфо-блок - получаем шапку, данные и инфо-блок на одном листе
(20) - макс.кол-во позиций, размещаемое на 1-м листе, при этом инфо-блок не вмещается, переходя на след.лист


2-й и последующие листы: [26] (41)
[26] - на листе вмещается инфо блок
(42) - макс.кол-во позиций, размещаемое на 2-м и последующих листах, при этом инфо-блок не вмещается, переходя на следующий лист
...
Рейтинг: 0 / 0
Подсчёт общего кол-ва листов и номера листа, в который входит определённый диапазон
    #36622761
Kerguru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То есть, если на лист выводятся всего 5 позиций, то инфо-блок полностью помещаются на одном листе с шапкой и областью данных, т.е. получается один неразрывный лист.

Если 6 позиций, то вся информация уже не помещается, т.к. инфо-блок смещается на следующую страницу - получается 2 листа.

На первом листе размещается, максимум, 20 позиций,- вернее шапка и 20 позиций, остальная информация (инфо-блок) переходит на следующие листы:

Если 46 позиций, то получаем
1-й лист - шапка, 20 позиций,
2-й лист - с 21 позиции по 46-ю,
инфо-блок помещается на 2-м листе.

Если более 46-ти позиций, то уже будет 3 листа:

т.е. с 21-й по 62-ю позиции помещаются на 2-м листе (это если без инфо-блока), 63-я и последующие - на другом листе, со смещённым инфо-блоком.
...
Рейтинг: 0 / 0
Подсчёт общего кол-ва листов и номера листа, в который входит определённый диапазон
    #36622766
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ворд или эксель? Господа, делайте ваши ставки.
...
Рейтинг: 0 / 0
Подсчёт общего кол-ва листов и номера листа, в который входит определённый диапазон
    #36622803
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

С возвращением. Вы с Игорем одновременно в отпуск ходите?

Думаю, что ворд, задача напоминает создание накладной ТОРГ-12, разбитой на несколько листов.
...
Рейтинг: 0 / 0
Подсчёт общего кол-ва листов и номера листа, в который входит определённый диапазон
    #36622838
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kerguru,

Если я правильно понял задачу, я бы решал таким методом:

Берется незаполненный шаблон - это один лист. Дальше в бесконечном цикле начинает вставляться по одной строке, при каждой итерации проверяется количество страниц документа. Как только количество страниц сменилось с 1 на 2 - значит нужное количество строк для первого листа (i-1). Продолжаем цикл - как только количество страниц сменится с 2 на 3 - значит это нужное количество для второго и последующих листов. Ну и выходим из цикла, когда получены все нужные данные.
...
Рейтинг: 0 / 0
Подсчёт общего кол-ва листов и номера листа, в который входит определённый диапазон
    #36622866
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виноват.
Как только количество страниц сменится с 2 на 3 - это количество позиций для ПОСЛЕДНЕЙ страницы. А когда сменится с 3 на 4 - это количество для ВНУТРЕННИХ страниц. Далее можно выходить из цикла.
...
Рейтинг: 0 / 0
Подсчёт общего кол-ва листов и номера листа, в который входит определённый диапазон
    #36623776
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Shocker.Pro
> Antonariy,
>
> С возвращением. Вы с Игорем одновременно в отпуск ходите?

Спасибо, а вдруг мы вообще не человека (с) анекдот

> Думаю, что ворд, задача напоминает создание накладной ТОРГ-12, разбитой на несколько листов.

Я с такой системой не сталкивался, поэтому предполагаю Ексель, хотя в твоих рассуждениях есть смысл.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Подсчёт общего кол-ва листов и номера листа, в который входит определённый диапазон
    #36623784
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
word скорее всего
...
Рейтинг: 0 / 0
Подсчёт общего кол-ва листов и номера листа, в который входит определённый диапазон
    #36623793
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offИгорь ГорбоносСпасибо, а вдруг мы вообще не человека (с) анекдот


Правильный вариант:
Карл Маркс и Фридрих Энгельс это не муж и жена - а четыре
разных человека
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Подсчёт общего кол-ва листов и номера листа, в который входит определённый диапазон
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]