powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Не работает VPageBreaks
5 сообщений из 5, страница 1 из 1
Не работает VPageBreaks
    #38988409
endurance
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Возникла такая засада, бьюсь уже несколько дней.
Не могу установить вертикальные линии при формировании области печати. Ошибка "application-defined or object-defined error " появляется на установке вертикальной линии.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
  ws.Activate
  i = 1
  endc = 40
  While i <= ActiveSheet.VPageBreaks.Count
--->>    Set ActiveSheet.VPageBreaks(i).Location = ActiveSheet.Range(ActiveSheet.Cells(1, endc), ActiveSheet.Cells(1, endc))
    i = i + 1
    endc = endc + 36
  Wend



Как только уже не пробовал и так
Код: vbnet
1.
Set ActiveSheet.VPageBreaks(1).Location = Columns(4) 


и так
Код: vbnet
1.
Set ActiveSheet.VPageBreaks(1).Location = Cells(10, 4) 


и так
Код: vbnet
1.
2.
3.
4.
Dim rng as Range
rng = Cells(1, 40)
str = rng.Address(False, False)
Set ActiveSheet.VPageBreaks(1).Location = Range(str)


Ничего не работает... нужна итерационность по столбцам.
Запись макроса выдает строчку,
Код: vbnet
1.
Set ActiveSheet.VPageBreaks(1).Location = Range("AN5")

но и эта работает через раз, не пойму в чем дело.

Заранее спасибо!
...
Рейтинг: 0 / 0
Не работает VPageBreaks
    #38988909
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня только вот как-то так получилось
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
On Error Resume Next
For i = Me.VPageBreaks.Count To 1 Step -1
  Me.VPageBreaks(i).Delete
Next
On Error GoTo 0

For i = 4 To 40 Step 4
  Me.VPageBreaks.Add Me.Cells(1, i)
Next

почему перехват ошибок? а хрен его знает! попытка обращения к элементу
VPageBreaks(VPageBreaks.Count)
и к некоторым предыдущим выдает ошибку, они как-то своей жизнью живут...
...
Рейтинг: 0 / 0
Не работает VPageBreaks
    #38988962
hclubmk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В области печати данные присутствуют?
Если да - никаких аномалий не наблюдаю, с кодом Shocker.Pro
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
For i = Application.Worksheets(1).VPageBreaks.Count To 1 Step -1
  Application.Worksheets(1).VPageBreaks(i).Delete
Next

For i = 4 To 40 Step 4
  Application.Worksheets(1).VPageBreaks.Add Application.Worksheets(1).Columns(i)
Next



Кстати, endurance , без Set , ошибка не возникает, или я не о том?
...
Рейтинг: 0 / 0
Не работает VPageBreaks
    #38989111
endurance
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

большое спасибо, что откликнулись! Ваш метод работает!
В начале проекта хотел добавлять методом Add вертикальные линии, но он добавлял к уже существующим линиям мои вновь созданные, поэтому от него отказался. Сейчас работает почему-то...Кстати, если удалять вертикальные линии методом Delete они не удаляются, остаются на своих же местах, зато потом когда проставляю новые вертикальные линии на нужное мне место, те линии которые были раньше перемещаются на указанное мною место.
...
Рейтинг: 0 / 0
Не работает VPageBreaks
    #38989112
endurance
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hclubmk,

Спасибо, что откликнулись!
Данные присутствуют. Все заработало. Кстати да, на Set как раз и возникала ошибка. Если Set убирал, то никаких изменений не происходило, вертикальные линии оставались на своих прежних местах.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Не работает VPageBreaks
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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