powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Не правильно определяется количество разрывов страниц
12 сообщений из 12, страница 1 из 1
Не правильно определяется количество разрывов страниц
    #36678997
Егорий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Мне нужно определить место разрывов страниц и вставить на это место несколько строк.
Я это делаю так:
For Each hPB In ActiveSheet.HPageBreaks
lRow = hPB.Location.Row
'...
'Копирование строк ...
'...
Rows(lRow).Select
Selection.EntireRow.Insert 'Вставка
ActiveWindow.View = xlNormalView
ActiveWindow.View = xlPageBreakPreview
Next hPB
Возникает проблема когда после вставки строк количество разрывов страниц увеличевается. Но так как я прохожу в цикле For Each по всем ActiveSheet.HPageBreaks, то обработка новых разрывов страниц не происходит. Как сделать так чтобы обрабатывались также разрывы страниц, которые были добавлены автоматически, после вставки строк, не выходя из цикла For Each?
Заранее спасибо.
...
Рейтинг: 0 / 0
Не правильно определяется количество разрывов страниц
    #36679005
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Без выхода из For Each, боюсь, не выйдет.

Попробуйте работать от 1(0) до Count(-1)
...
Рейтинг: 0 / 0
Не правильно определяется количество разрывов страниц
    #36679024
Егорий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, уже пробовал. Не получилось.
...
Рейтинг: 0 / 0
Не правильно определяется количество разрывов страниц
    #36679027
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕгорийShocker.Pro, уже пробовал. Не получилось.

В чем это выразилось?
...
Рейтинг: 0 / 0
Не правильно определяется количество разрывов страниц
    #36679033
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProЕгорийShocker.Pro, уже пробовал. Не получилось.
В чем это выразилось?
Если вы пытались циклом For сделать - то понятно.
Вот смотрите:
Код: plaintext
1.
2.
3.
4.
5.
6.
Dim i As Integer, j As Integer
j =  5 

For i =  1  To j
  j =  8 
Next
MsgBox i
...
Рейтинг: 0 / 0
Не правильно определяется количество разрывов страниц
    #36679036
Егорий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, спасибо, сейчас попробую так.
...
Рейтинг: 0 / 0
Не правильно определяется количество разрывов страниц
    #36679040
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕгорийShocker.Pro, спасибо, сейчас попробую так.
ТАК пробовать не надо. Надо через While/Until, чтобы выражение вычислялось каждый раз.
...
Рейтинг: 0 / 0
Не правильно определяется количество разрывов страниц
    #36679075
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProТАК пробовать не надо. Надо через While/Until, чтобы выражение вычислялось каждый раз.

Для наглядности:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Dim i As Integer, j As Integer
j =  5 

For i =  1  To j
  j =  8 
Next
MsgBox i

i =  1 
j =  5 
Do While i <= j
  i = i +  1 
  j =  8 
Loop
MsgBox i
...
Рейтинг: 0 / 0
Не правильно определяется количество разрывов страниц
    #36679088
Егорий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, спасибо. Все получилось. Я использовал конструкцию
while condition
'действия
Wend
...
Рейтинг: 0 / 0
Не правильно определяется количество разрывов страниц
    #36679723
sergeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В качестве рекомендации.
Так как после вставки строк или изменении их высоты Ексель начинает расставлять разделители страниц по новой и данная операция асинхронна, то после оператора влияющего на число разделителей и последующими операторами работы с разделителями, я вставляю оператор DoEvents.
Это важно, если страниц много и Ексель может долго возиться с расстановкой разделителей.
...
Рейтинг: 0 / 0
Не правильно определяется количество разрывов страниц
    #36681450
Егорий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sergeyvg,
спасибо за рекомендацию. Насколько я понимаю это влияет на быстродействие?
...
Рейтинг: 0 / 0
Не правильно определяется количество разрывов страниц
    #36681927
sergeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Даже если будет на миллисекунды дольше, зато даст правильное количество страниц, что, думаю, важнее в данном случае:)
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Не правильно определяется количество разрывов страниц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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